Acessibilidade / Reportar erro

Um sistema de recomendação baseado em conteúdo para adoção de animais utilizando a técnica do cosseno ponderado

A content-based recommendation system for animal adoption using the weighted cosine technique

Resumo

A adoção animal é considerada um gesto grandioso que carrega consigo grande responsabilidade social, visto que um animal precisa dos cuidados e carinho diário do adotante. Muito além da aparência e questões estéticas, é essencial que o adotante considere suas reais condições respeitando as características específicas do animal. A falta de perícia na escolha do animal pode acarretar uma adoção irresponsável e infrutuosa, comprometendo a qualidade de vida do animal. Portais de adoção de animais são suscetíveis a esse problema se não fornecerem mecanismos que tentem aproximar as reais preferências e condições do adotante com as características do animal. Diante dessa problemática, este artigo propõe um sistema de recomendação baseado em conteúdo que visa sugerir animais para adoção considerando as preferências dos adotantes, aplicando a técnica do cosseno ponderado. A ponderação é fundamental no cálculo de similaridade entre as preferências dos adotantes e das características do animal. Os experimentos realizados apontam um aumento de precisão das recomendações quando a ponderação é aplicada sobre o método tradicional sem considerar as preferências do adotante por determinadas características dos animais a serem adotados.

Palavras-chave:
Sistema de recomendação; Recomendação baseada em conteúdo; Adoção de animais; Adoção de cães; Técnica do cosseno ponderado

Abstract

An adopted animal is considered a grand gesture with significant social responsibility since it needs daily care and affection from the adopter. Far beyond appearance and aesthetic issues, the adopter must consider their natural conditions, respecting the specific characteristics of the animal. The lack of expertise in choosing the animal can lead to an irresponsible and fruitless adoption, compromising the animal’s quality of life. Animal adoption portals are prone to this problem if they do not provide controls that try to approximate the adopter’s real motivations and conditions with the animal’s characteristics. Faced with this problem, this article proposes a content-based recommendation system to suggest animals for users to consume drugs, applying the weighted cosine technique. The weighting is fundamental in calculating the similarity between the users’ emotions and the animal’s characteristics. The experiments increased the accuracy of the recommendations when weighting is applied over the traditional method without considering the prescribed method of users by specific characteristics of the animals to be adopted.

Keywords:
Recommender system; Content-based recommendation; Adoption of animals; Dog adoption; Weighted cosine technique

1 Introdução

Uma pesquisa feita pelo Instituto Brasileiro de Opinião Pública e Estatística IBOPE (2015)IBOPE. Au.Dote. [S. l.: s. n.], 2015. Disponível em: http://www.ibopeinteligencia.com/noticias-epesquisas/pesquisa-traca-o-perfil-dos-proprietarios-de-pets-no-bra/sil/ [Último acesso em 22 de maio de 2022]. Disponível em: %7Bhttp://www.ibopeinteligencia.com/noticias-e-pesquisas/pesquisa-traca-o-perfildos-proprietarios-de-pets-no-bra/sil/%7D.
http://www.ibopeinteligencia.com/noticia...
revelou que o brasileiro abandona seus animais de estimação por motivos fúteis e os compra sem pensar nas implicações. Baseado nos dados do estudo, o professor da Faculdade de Medicina Veterinária da Universidade de São Paulo (USP), Ricardo Dias, fez um alerta: “Os sinais são preocupantes. Mostram que o brasileiro procura animal de estimação baseado em modismos de raça e tem baixa propensão a tentar manter o animal, diante de mudanças no estilo de vida”. De acordo com a mesma pesquisa, 42% dos adotantes de cães e gatos, no Brasil, não castram seus pets ( Alves et al., 2013 ALVES, Ana; GUILLOUX, Aline; ZETUN, Carolina; POLO, Gina; BRAGA, Guilherme; PANACHÃO, Ligia; SANTOS, Oswaldo; DIAS, Ricardo. Abandono de cães na América Latina: revisão de literatura. Revista de Educação Continuada em Medicina Veterinária e Zootecnia do CRMV-SP, v. 11, p. 34–41, 2013. DOI: https://doi.org/10.36440/recmvz.v11i2.16221.
https://doi.org/10.36440/recmvz.v11i2.16...
).

Nos Estados Unidos da América (EUA), as causas referidas para a devolução de cães em abrigos foram, primeiramente, problemas comportamentais dos animais (46,8% dos casos) e, em segundo lugar, mudanças na disponibilidade de espaço ou nas regras de conduta social do local ocupado pelo ser humano (29,1%). Ainda como causas importantes de abandono, constam o estilo de vida do adotante (25,4%) e as expectativas criadas por ele — sejam elas emocionais, físicas ou sociais — a preparação desse novo adotante para a chegada do animal e a realidade nos cuidados do cão ( Alves et al., 2013 ALVES, Ana; GUILLOUX, Aline; ZETUN, Carolina; POLO, Gina; BRAGA, Guilherme; PANACHÃO, Ligia; SANTOS, Oswaldo; DIAS, Ricardo. Abandono de cães na América Latina: revisão de literatura. Revista de Educação Continuada em Medicina Veterinária e Zootecnia do CRMV-SP, v. 11, p. 34–41, 2013. DOI: https://doi.org/10.36440/recmvz.v11i2.16221.
https://doi.org/10.36440/recmvz.v11i2.16...
).

Na América Latina, por exemplo, o abandono de animais é considerado uma forte ameaça nas áreas de saúde pública (devido às zoonoses), social (desconforto com relação ao comportamento animal), ecológica (principalmente no que se refere ao impacto ambiental) e econômica (custos com a estratégia de controle populacional). No que tange às questões de saúde, animais de rua são transmissores de doenças como raiva, leishmaniose, leptospirose, toxocariose, entre outras doenças parasitárias. Há também problemas como ruídos (latidos e uivos), excreções (fezes e urina) e acidentes de trânsito ( Alves et al., 2013 ALVES, Ana; GUILLOUX, Aline; ZETUN, Carolina; POLO, Gina; BRAGA, Guilherme; PANACHÃO, Ligia; SANTOS, Oswaldo; DIAS, Ricardo. Abandono de cães na América Latina: revisão de literatura. Revista de Educação Continuada em Medicina Veterinária e Zootecnia do CRMV-SP, v. 11, p. 34–41, 2013. DOI: https://doi.org/10.36440/recmvz.v11i2.16221.
https://doi.org/10.36440/recmvz.v11i2.16...
). Do mesmo modo, os impactos do abandono no bem-estar animal são igualmente relevantes. A situação mais frequente se caracteriza por condições de saúde física e mental deficientes, agravadas pela maior suscetibilidade a estados de sofrimento e exposição a maus tratos ( Stafford, 2007STAFFORD, Kevin. The Welfare of Dogs. In: [s. l.: s. n.], 2007. ISBN 9781402043611.).

Diante disso, a adoção pode ser promovida de várias formas, em feiras locais, aplicativos e sites de instituições governamentais, por exemplo. Porém, esses meios têm potencial de resultar numa busca árdua, tendo em vista a quantidade de animais disponíveis, ou numa má escolha, ocasionando adoções insatisfatórias e possíveis abandonos. Neste cenário, é perceptível a necessidade de aplicação de mecanismos inteligentes que filtrem conteúdos de forma personalizada, segundo as preferências de cada adotante.

Assim, conforme Ricci, Rokach e Shapira ( 2011RICCI, Francesco; ROKACH, Lior; SHAPIRA, Bracha. Introduction to Recommender Systems Handbook. In: [s. l.]: Springer US, 2011. p. 1–35. ISBN 978-0-387-85820-3. DOI: 10.1007/978-0-387-85820-3_1.
https://doi.org/10.1007/978-0-387-85820-...
), é viável utilizar Sistemas de Recomendação - SR, empregando ferramentas de software e técnicas que retornam sugestões de itens que provavelmente são de interesse do adotante. O termo “item”, neste caso, é aplicado para referenciar o que o sistema recomenda ao adotante, como músicas, livros etc. Em face dessas observações, portanto, este trabalho propõe um SR que visa apresentar animais de acordo com as preferências do adotante, ponderando-as consoante o grau de importância. Essas preferências estão associadas ao estilo de vida do possível adotante, como o tipo de moradia (apartamento ou casa), a presença de crianças em casa e a disponibilidade para passear. Serviços inteligentes de apoio à adoção são oportunidades existentes devido às práticas tradicionais de recomendação — como pedir indicação de serviço ou produto para algum conhecido que já o consumiu —, uma vez que temos o hábito de atribuir confiança a quem nos indica algo, principalmente se esta vier de alguém próximo. Um serviço de recomendação, dessa forma, é um tipo de serviço inteligente, eficiente e confiável, pois sugere itens similares aos interesses de um determinado adotante.

Ao adotar um animal de estimação, geralmente, os futuros adotantes não sabem ou nem se informam sobre as características do bicho, buscando apenas algum que seja agradável esteticamente. Nesse contexto, o papel do SR é apresentar um item (animal) que mais se encaixe ao perfil do adotante, tendo em conta diversos aspectos, para que não se arrependa ou queira se desfazer futuramente. Sabe-se que há muitos animais disponíveis para adoção nos variados abrigos de uma cidade. O adotante, nesta situação, teria que fazer uma extensa pesquisa para achar o ideal e, ainda assim, correria o risco de não obter todas as informações necessárias para se fazer uma boa escolha. A busca poderia ser cansativa e trabalhosa e, no final, o “bicho aspirado”, resultante da pesquisa, pode já ter sido adotado durante o período das avaliações. Dessa maneira, assim como se utiliza as recomendações de produtos, também é possível recorrer à indicação de possíveis animais para adoção, conforme o perfil do adotante e do bicho. Este, então, terá um novo lar e um novo adotante, e o adotante terá um amigo condizente com o próprio estilo de vida.

A proposta descrita nesse trabalho é a de um SR para adoção de cães. A ideia é cadastrar cães disponíveis para adoção e permitir que os adotante recebam sugestões de cães que correspondam com seu perfil, ou seja, que sejam compatíveis com suas preferências, necessidades e estilo de vida. O objetivo é aumentar as chances de sucesso na adoção, utilizando a técnica do cosseno ponderado, uma extensão da técnica de similaridade de cosseno, que consiste em atribuir um peso ou importância relativa aos atributos buscados pelo possível adotante. O diferencial desta proposta, para aquelas que já estão disponíveis, é a recomendação do cão ideal para determinado adotante considerando o grau de relevância das características. Não há literatura suficiente no Brasil e na América Latina que relacione fatores ao abandono de animais ( Alves et al., 2013 ALVES, Ana; GUILLOUX, Aline; ZETUN, Carolina; POLO, Gina; BRAGA, Guilherme; PANACHÃO, Ligia; SANTOS, Oswaldo; DIAS, Ricardo. Abandono de cães na América Latina: revisão de literatura. Revista de Educação Continuada em Medicina Veterinária e Zootecnia do CRMV-SP, v. 11, p. 34–41, 2013. DOI: https://doi.org/10.36440/recmvz.v11i2.16221.
https://doi.org/10.36440/recmvz.v11i2.16...
). Em Taiwan, algumas das variáveis ligadas ao abandono estão associadas aos problemas comportamentais dos animais domésticos ( Weng et al., 2006 WENG, Hsin-Yi; KASS, Philip H.; HART, Lynette A.; CHOMEL, Bruno B. Risk factors for unsuccessful dog ownership: An epidemiologic study in Taiwan. Preventive Veterinary Medicine, v. 77, n. 1, p. 82–95, 2006. ISSN 0167-5877. DOI: https://doi.org/10.1016/j.prevetmed.2006.06.004. Disponível em: https://www.sciencedirect.com/science/article/pii/S0167587706001425.
https://www.sciencedirect.com/science/ar...
). Ainda neste estudo, têm-se outras causas relativas ao insucesso na adoção, tais como a motivação da posse (aquisição do animal por estética) ou a falta de conhecimento sobre os animais.

O problema que este trabalho busca resolver, portanto, é a capacidade de recomendar um pet baseada no grau de relevância de cada uma das características do adotante, aumentando, desta forma, a probabilidade de uma adoção bem sucedida, em vez da compra. E, embora a utilização do algoritmo de Similaridade do Cosseno proporcione a combinação de todas as qualidades do item e do adotante, não há garantias de melhor recomendação, posto que, daquela gama de combinações, algumas podem não ser relevantes para interferir na escolha mais assertiva de adoção do animal.

Normalmente, os aplicativos mobile e os sites disponíveis para adoção de cães e gatos não fazem sugestões. Estas, contudo, são um fator importante, pois ajudam o futuro adotante a decidir acertadamente, sem intensas buscas, e evitam surpresas e frustrações posteriores — tais como um cão de grande porte para uma pessoa que mora em um pequeno apartamento, ou um cachorro manso e preguiçoso para ser um cão de guarda.

Este trabalho está organizado da seguinte maneira: A Seção 2 2 Sistemas de recomendação Quando o acesso à informação começou a ser facilitado através da Web, o compartilhamento de dados passou a ser multiplicado. Os sites de notícia, serviços de streaming de música e vídeo, e-commerce etc. utilizaram a indicação para filtrar o oferecimento de grande quantidade de informações de interesse do adotante. Os sistemas de recomendação funcionam, portanto, como salva-vidas nesse mar de dados. Sem eles, diante de tantas opções, fazer uma boa escolha poderia custar tempo, principalmente quando a pessoa possui pouca experiência de decisão em meio a inúmeras alternativas. Para discutir sobre os sistemas de recomendação é preciso voltar no tempo, quando o primeiro SR era um tradicional sistema de filtragem e recuperação de informação, o Tapestry ( Goldberg et al., 1992 ), um sistema experimental de filtração de e-mails, desenvolvido em 1992, por Xerox Palo Alto Research Center (PARC). O Tapestry era baseado em filtragem colaborativa, sendo o primeiro a usar o termo, e permite pesquisar e-mails segundo o conteúdo do documento e as reações registradas de outros adotantes. E, diferente dos demais sistemas do período, o Tapestry não apenas examinava o e-mail quando ele chegava, mas exibia anotações registradas por pessoas que já consultaram aquele e-mail. No entanto, apesar de ser fundamentado em filtragem colaborativa, utilizava a de conteúdo ( Goldberg et al., 1992 ); isto é, no final, filtrava hibridamente. Assim, além da colaboração humana, lidava com palavras comuns contidas nos e-mails. Em sua publicação na revista da ACM, Resnick e Varian (1997) preferem utilizar o termo SR, uma vez que defendem que as recomendações podem sugerir itens preferencialmente relevantes e indicar quais devem ser filtrados sem necessitar da colaboração de pessoas. Desses itens recomendados, os adotantes podem fornecer feedbacks implícito ou explícito, com um simples clique. Uma metodologia típica para fornecer esse feedback é na forma de classificações, na qual os indivíduos selecionam valores numéricos de um sistema de avaliação específico — o sistema de classificação de cinco estrelas, por exemplo Aggarwal (2016) —, assim como foi utilizado neste estudo. Outras formas de retornos podem ser manipuladas de forma implícita, nas quais o adotante fornece dados para a recomendação de uma forma fácil, como o caso da Amazon e outros comerciantes online, com a compra ou navegação em itens ( Aggarwal, 2016). O Sistema de Recomendação é uma ferramenta de software e técnicas que fornecem sugestões de itens para serem úteis ao adotante ( Ricci; Rokach; Shapira, 2011). Um SR normalmente se concentra em um tipo específico de item (tais como filmes e músicas) e, consequentemente, o design e a técnica de recomendação principal, utilizados para gerar as sugestões, são todos personalizados, a fim de fornecer indicações adequadas e eficazes para aquele item particular ( Ricci; Rokach; Shapira, 2011). Os SRs referem-se, basicamente, a três tipos de objetos, apresentados abaixo: Itens: os artigos que são recomendados. Podem ser caracterizados pela complexidade, valor ou utilidade. O valor de um item pode ser positivo, se é útil para o usuários, ou negativo, se não é apropriado ou foi escolhido erroneamente pelo próprio indivíduo. São apresentados a partir de várias abordagens de representação e informação; o filme, por exemplo, é o item a ser sugerido na Netflix. Usuários: têm uma variedade de objetivos e características. Os SRs extraem um conjunto de informações deles para personalizar as indicações. Essa seleção será modelada pelo sistema a depender da técnica de recomendação. Transações: são os registros de interações entre o usuário e o SR, usados pelos algoritmos de recomendação do sistema para encontrar e gerar sugestões úteis ao usuário — como navegar em um item e dar ‘ like’ ou ‘ deslike’. 2.1 Tarefas de um sistema de recomendação Após definir o que é um SR, serão detalhadas cada função que um SR pode desempenhar. Baseando-se no artigo de Ricci, Rokach e Shapira ( 2011), que diferencia as tarefas de um SR dos provedores de serviços que fazem uso das recomendações, tem-se as seguintes atribuições: Aumentar o número de itens vendidos: considerada como a principal função de um SR comercial, deve ser capaz de vender um conjunto adicional de itens em comparação àqueles normalmente vendidos sem qualquer tipo de indicação. Esse objetivo é alcançado porque os itens recomendados, provavelmente, atendem as necessidades e desejos do usuário. Vender itens mais diversificados: selecionar e oferecer itens que podem ser difíceis de encontrar sem uma sugestão precisa. Elevar a satisfação do usuário: a combinação de recomendações acertadas e uma interface utilizável impulsionarão a avaliação e o aproveitamento do usuário no sistema. Amplificar a fidelidade do usuário: quanto mais tempo a pessoa interage com o sistema, mais refinado seu modelo de usuário se torna; ou seja, melhor será a representação do sistema sobre suas preferências. Entender melhor o desejo do usuário: ter uma boa descrição dos interesses de quem usa o serviço, podendo ser reaproveitada em outros aplicativos. Um provedor de serviços pode, então, decidir utilizar esse conhecimento para outros objetivos. Em seguida, listam-se onze tarefas que um SR pode auxiliar a implementar para apoiar o usuário em suas escolhas, segundo Herlocker et al. (2004), uma referência clássica: Encontrar alguns itens bons: recomendar ao usuário alguns itens, como uma lista classificada, com alguma forma de avaliar o quanto gostou de determinado item — por exemplo, uma escala de cinco estrelas. Encontrar todos os itens bons: sugerir todos os itens que podem satisfazer as necessidades do usuário. Em alguns casos, é insuficiente localizar alguns itens bons quando a quantidade é relativamente pequena. Anotação em contexto: dada uma lista de itens, evidenciar alguns, de acordo com as preferências do usuário. Recomendar uma sequência: em vez de focar na geração de uma única recomendação, a ideia é indicar uma sequência de itens que seja agradável. Recomendar um grupo: recomendar um grupo de itens que combinem entre si. Apenas navegar: o sistema deve ajudar o usuário a navegar pelos itens, numa seção específica, com maior probabilidade de se enquadrar no escopo dos seus interesses. Encontrar Sistema de Recomendação confiável: para obter confiança do usuário, os sistemas também podem oferecer funções singulares, a fim de permitir que testem seu comportamento além daqueles essenciais para conseguir recomendações. Melhorar o perfil: o usuário pode fornecer informações, para o SR, sobre o que ele gosta ou não. Essa é uma tarefa fundamental para que o sistema seja capaz de fornecer sugestões personalizadas. Expressar-se: alguns usuários podem não se importar com as indicações. Nesse caso, o importante é que possam contribuir com suas avaliações e manifestar suas opiniões e crenças. Desse modo, o sistema deve ofertar um campo para comentários. Ajudar os outros: algumas pessoas ficam felizes em ajudar com informações, tal qual avaliar itens que eles tenham conhecimento ou experiência. Esse tipo de usuário acredita que a comunidade se beneficia de sua colaboração. Ajudar os outros: certos indivíduos têm como objetivo influenciar explicitamente outros a comprar determinados produtos. Também existem aqueles mal-intencionados que podem usar o sistema para promover ou penalizar itens. 2.2 Desafios de um sistema de recomendação Os modelos básicos de sistemas de recomendação utilizam dois tipos de técnicas: (1) interações usuário-item, como avaliações ou comportamento de compra, e (2) as informações do perfil de usuários, como itens textuais ou palavras-chave relevantes ( Aggarwal, 2016). O SR vai oferecer sugestões individualizadas como saída, ou será capaz de guiar o indivíduo de forma particularizada objetivando encontrar itens úteis ( Burke, 2002). Nesta seção, serão explicados os dois principais tipos de sistemas de recomendação encontrados na literatura: as abordagens baseadas em filtragem colaborativa e a de conteúdo. Ressalta-se, contudo, a existência de outros tipos de técnicas como as de conhecimento, demográfica, social e a grupal ( Burke, 2002). 2.2.1 Filtragem colaborativa Considerada a técnica mais popular e amplamente implementada nos SRs, a filtragem colaborativa recomenda ao usuário ativo os itens que outros indivíduos com gostos similares avaliaram positivamente ( Ricci; Rokach; Shapira, 2011). O sistema localiza usuários pares com um histórico de classificação semelhante ao do usuário atual e gera recomendações utilizando esta vizinhança ( Burke, 2002). Em Burke (2002), a filtragem colaborativa é dividida em dois métodos, baseados em vizinhança e modelo. O método de vizinhança se concentra nas relações entre os itens ou, alternativamente, entre usuários. Já o modelo molda a preferência de um usuário por um item a partir de elementos semelhantes avaliados pela mesma pessoa ( Ricci; Rokach; Shapira, 2011). Um SR popular que utiliza filtragem colaborativa é a Netflix. Ela ordena as recomendações de modo que os itens mais ranqueados estejam facilmente visíveis para os usuários, no topo da lista, na tentativa de serem selecionados pelo usuário Figura 1. A mesma estratégia é usada para definir qual tipo de thumbnail será apresentado ao usuário por meio de suas preferências ( Zangerle; Bauer, 2022). Figura 1. Demonstração da lista de recomendação da Netflix. Fonte: ( Zangerle; Bauer, 2022) 2.2.2 Filtragem baseada em conteúdo Um SR embasado em conteúdo aprende a indicar itens semelhantes àqueles que o usuário avaliou bem. A correspondência dos itens é calculada segundo os atributos associados aos itens comparados ( Ricci; Rokach; Shapira, 2011); além de calcular a equivalência entre os itens com características do usuário, que podem ser encontradas em um perfil. Esse tipo de SR analisa um conjunto de atributos dos itens previamente classificados pelo indivíduo ou, até mesmo, do perfil do usuário e, a partir disso, criam um modelo de interesses daquela pessoa ( Zhang et al., 2019 ). O padrão criado é uma representação das preferências do indivíduo, adaptado para encontrar e indicar novos itens que podem ser relevantes. O processo de sugestão consiste em comparar os atributos do modelo do usuário com os atributos de um item. Se um modelo reflete com precisão as preferências do usuário, isso é uma grande vantagem para a eficácia do processo de recomendação ( Lops; Gemmis; Semeraro, 2011) ( Figura 2). Figura 2. Demonstração da recomendação baseada em conteúdo. Fonte: ( Konstan, 2008) 2.2.3 Comparação das técnicas de recomendação Todas as técnicas de recomendação utilizadas na implementação de um SR possuem seus prós e contras. Seja nas informações do usuário, dos itens, na quantidade de dados, e avaliações, tudo pode influenciar o sucesso ou fracasso de uma técnica utilizada para implementação do algoritmo de sugestões do SR. Conforme apresentado por Burke (2002) e discutido por Mladenic (1999), seguem alguns pontos comuns das diferenças entre essas duas ferramentas: Baseada em conteúdo: a principal vantagem desta é não precisar de feedback prévio para começar a recomendar algo útil, pois, na falta de registros, o sistema monta um modelo de usuário com as informações de perfil, de cadastro ou de algum item avaliado no passado. A Figura 2 demonstra isso graficamente, o conteúdo B, similar ao A, será recomendado ao usuário. A desvantagem é que cria uma bolha de indicações, gerando uma lista muito similar, com pouca variedade. Outra desvantagem é que o sistema não vai gerar boas recomendações, se o usuário não possuir alguma característica que possa rotulá-lo, ou se não tiver avaliado anteriormente algum item no sistema. Filtragem colaborativa: não gera boas recomendações caso haja escassez de dados ou se os itens não tiverem apreciações de usuários diferentes. Porém, possui uma grande vantagem: a técnica resolve os principais problemas da recomendação baseada em conteúdo: não cria uma bolha de sugestões e não necessita de informações sobre o perfil ou um modelo de usuário, visto que não utiliza a similaridade entre itens para indicar. apresenta o referencial teórico sobre Sistemas de Recomendação e a Seção 3 3 Tecnologia no apoio à adoção de animais Segundo Gomes (2013), animais abandonados estão suscetíveis a riscos como maus tratos que, apesar de crime, não são punidos adequadamente. Além do sofrimento animal, o desamparo causa outros sérios problemas, como a proliferação de doenças transmissíveis para humanos, tais como a raiva e a leishmaniose. Animais em situação de abandono geram riscos à saúde pública, aumento dos gastos públicos, superlotação em Organizações Não Governamentais (ONG) e nos centros de zoonoses. Para acolher esses bichos em vulnerabilidade, conforme citado por Matos (2012), surgem as ONGs que desempenham um papel essencial na luta pela causa animal e, juntamente com protetores independentes, atuam resgatando, tratando e servindo de lar transitório. Porém, a quantidade de abandono é grande, e, assim, muitas instituições abrigam mais animais do que a infraestrutura permite. Por isso, devido à superlotação, muitos defensores acabam transformando a própria casa em abrigo temporário, o que pode não garantir uma boa assistência ao animal. Muitos dos recolhidos pelos centros de zoonoses brasileiros não são resgatados e adotados pela população. Dessa forma, acabam sendo submetidos à eutanásia, em virtude dos custos gerados ao cofres públicos pela manutenção em canis ( Alejo et al., 2008 ) e pela falta de recursos para tratar as doenças e infecções que a maioria apresenta. Contudo, até mesmo a eutanásia exige despesas, conforme descrito na Resolução nº 174 do Conselho Federal de Medicina Veterinária (CFMV), com a compra de medicamentos, seringas e agulhas; além da contratação de médico-veterinário e da construção de um ambiente adequado para a realização do procedimento. Por isso, a utilização da tecnologia intenciona favorecer e apoiar o acesso dos interessados em ter um animal de estimação à adoção, desencorajando a compra. Entende-se que retirar um bicho da situação de abandono é um benefício não somente para o animal, mas para as ONGs que, geralmente, encontram-se lotadas — visto que a entrada de animais é, muitas vezes, maior que a saída —, para o ser humano, submetido às doenças transmitidas por animais de rua, e aos cofres públicos, que precisam realizar a eutanásia como forma mais rápida de “solucionar” o problema. 3.1 Tecnologias no apoio à adoção Tecnologias, a nível de software e/ou hardware, já são utilizadas na identificação e controle para ajudar ONGs no resgate e na adoção de animais em situação de abandono, reduzindo o número de bichos tutelados por essas instituições. Algumas dessas tecnologias são empregadas para fins de controle, como os microchips implantados em bois para manejo de rebanho. Um trabalho realizado por Tozzi, Anderle e Nogueira (2018) buscou pesquisas que objetivavam diminuir o abandono e melhorar a divulgação de animais para adoção na região da Associação dos Municípios da Região da Foz do Rio Itajaí (AMFRI). Dentre as fases do estudo, encontra-se uma etapa em que foi feita uma pesquisa de campo e o desenvolvimento de um sistema web. A investigação realizada levantou algumas tecnologias para apoiar o resgate de animais domésticos em situação de rua. Ainda segundo os autores Tozzi, Anderle e Nogueira (2018), algumas inovações já são comumente utilizadas no suporte e na solução de problemas de reconhecimento e proteção do animal, evitando a perda deste. É o caso do microchip Radio Frequency Identification (RFID), da Figura 3, que consiste em um método de identificação através de sinais de rádio, cujos chips armazenam informações que podem ser lidas por leitores de etiquetas eletrônicas. O RFID é muito utilizado em controle de estoque, rastreamento de pacientes em hospitais e na contenção do rebanho, na agricultura. Figura 3. Etiqueta RFID utilizada no Unleashed Indoor Dog Park. Fonte: ( Tozzi; Anderle; Nogueira, 2018). Outra tecnologia é a coleira com Quick Response Code - QR Code Figura 4, inserido no mercado pela FurCode. Consiste numa coleira com medalha de identificação com QR Code, que possibilita acessar a página do animal. Por meio desta, a pessoa que encontrar o animal utilizando a coleira pode ter acesso às informações de contato do adotante, telefone do médico veterinário, fotos e informações médicas. Além do QR Code, a medalha pode conter o link da página do animal, para caso o indivíduo que o encontre não tenha acesso a um dispositivo que lê esse tipo de código. A utilização de microchips em animais também tem favorecido a adoção responsável. Consoante notícia publicada pelo Falconery (2019), em Fortaleza, a Coordenadoria Especial de Proteção e Bem-Estar Animal (Coepa), da Prefeitura de Fortaleza, está implantando microchips em cães e gatos que foram adotados em eventos de adoção realizados na cidade. Até julho de 2019, 1.977 animais receberam o dispositivo e entraram para o banco de dados do órgão. O objetivo da iniciativa é acompanhar os animais adotados para evitar possíveis abandonos. Figura 4. Coleira com QR Code da FurCode. Fonte: ( FurCode, s.d.). 3.2 Sistemas e iniciativas de apoio à adoção de pets Os aplicativos de busca também são utilizados para cadastrar animais que tenham fugido de casa ou se perderam de seus adotantes. Através deste cadastro, os adotantes inserem fotos e informações do animal desaparecido e os dados de contato. Há o exemplo do app Petfinder Adoptable Pets, visto na Figura 5 e disponível para Android e iOS, que se constitui num app de busca de perdidos e abandonados. A interface conta um mapa mostrando os animais disponíveis mais próximos do adotante. Figura 5. Tela de busca do app Petfinder Adoptable Pets Fonte: Produits Nestlé S.A. (2023) Outra alternativa são os aplicativos de identificação de animal que a promovem por meio de recognição facial, utilizando a tecnologia de comparação de imagens (visão computacional e inteligência artificial), como é o caso do app Crowdpet 1, apresentado na Figura 7. Segundo notícia publicada pela FAPESP (2017), o aplicativo cruza duas fontes de dados: as fotos dos animais perdidos cadastradas por seus adotantes e as fotos de animais avistados nas ruas por voluntários. Usa, assim, reconhecimento facial para buscar combinações entre as características de cães e gatos achados e perdidos. Uma aplicação que também usa identificação facial foi desenvolvida pela startup chinesa Megvii, Figura 6, que fornece soluções para recognição da face ao programa de vigilância do governo da China. Conforme publicação de Pederneiras (2022), o app identifica rostos de animais de estimação através de impressões lidas no nariz de cães, espécies de impressões digitais, para gerar um banco de dados que ajuda a localizar animais perdidos. Figura 6. Telas do app chinês de reconhecimento facial. Fonte: ( Garun, 2019). Figura 7. App Crowdpet cruza características de fotos publicadas de animais achados e perdidos. Fonte: ( Eley, 2014). Quando se pensa em adotar um pet, atualmente, basta pesquisar na Web alguma instituição governamental ou portal da prefeitura municipal que disponibiliza animais para adoção. Essas informações já se encontram facilmente disponíveis, trazendo, algumas vezes, a descrição das características físicas e comportamentais dos animais, assim como podem informar se o animal já é vermifugado, vacinado, castrado etc. Algumas instituições públicas e ONGs possuem seu próprio meio de disponibilizar dados sobre os animais a serem adotados, através de apps mobile ou web sites. Isso torna mais prático promover a adoção naquela determinada região, sem que os indivíduos tenham que se deslocar para conhecer os animais e suas características relevantes. Nos Estados Unidos a American Society for the Prevention of Cruelty to Animals ( Protopopova; Gunter, 2017), utiliza o Geographic Information System (GIS), ferramenta que analisa a localização geográfica e organiza camadas de informação em visualizações, usando mapas e cenas 3D. Com esse recurso, o GIS traz outras características sobre dados, como padrões, relacionamentos e situações, ajudando os adotantes a tomar decisões mais inteligentes. A Protopopova e Gunter (2017) realizou sua pesquisa com apoio de várias comunidades espalhadas no país que utilizavam o GIS. Segundo Nahra (2015), a partir desses dados, eles conseguem desenvolver estratégias para diminuir o abandono — Owner Surrender — e reduzir a entrada nos abrigos. Owner Surrender é quando o adotante leva o bicho a um abrigo e diz que não quer ou não pode mais ficar com o animal, mediante pagamento de uma taxa. A associação também possui um programa de adoção baseado em pesquisa, chamado Meet Your Match Figura 8, que une adotantes a animais cujos perfis sejam compatíveis, semelhante ao que o projeto deste trabalho propõe, por meio de um app. O ASPCA realizou uma pesquisa de cinco anos analisando como o programa Meet Your Match Feline-ality afetou adoções, taxas de retorno, tempo de permanência e índices de eutanásia de gatos. O software também é aplicado para cães, através do Meet Your Match Canine-ality. A pesquisa revelou que a conversa e os dados coletados pelos conselheiros de adoção deram aos possíveis adotantes elementos necessários para modificar suas expectativas e aumentar a probabilidade de uma correspondência bem-sucedida. Quase todos os adotantes pesquisados disseram que provavelmente escolheriam um abrigo que usasse o método Meet Your Match Adoption ao adotar um animal no futuro ( Protopopova; Gunter, 2017). Assim, após a conversa, o conselheiro classifica o provável adotante em uma das três cores: os verdes são mais bem-sucedidos com cães que gostam de estar física e mentalmente envolvidos; os laranjas são uma boa opção para cães que são receptivos e gostam de atividades e interações; e os roxos ficam confortáveis com cães que têm atitude e estilo de vida descontraídos. Essa catalogação também é adaptada para os felinos no Feline-ality. Figura 8. Página do Meet Your Match no site do ASPCA. Fonte: ( ASPCA, s.d.). Consoante Protopopova e Gunter (2017), os abrigos que o Meet Your Match encontraram melhorias significativas no número de adoções e retornos. Na Kansas Humane Society, o retorno caiu em 50%, dentro de um mês. No Bay Area Humane Society e Animal Shelter ( Green Bay, WI), houve queda entre 1 e 2%. No Marquette Humane Society ( Negaunee, MI), o número de adoções cresceu 37,5%. A pesquisa Meet Your Match Adoption, desenvolvida pelo ASPCA, portanto, possui características semelhantes às de um SR’s. Associando a pesquisa ao SR, os adotantes seriam os adotantes e os conselheiros representam o SR, que analisa as características do provável adotante e o enquadra em um perfil (verde, laranja ou roxo). O que já tem fundamento em pesquisas e também funciona na prática, teria uma versão virtual, inicialmente como aplicativo mobile. Assim, seria uma oportunidade de ter um programa em atividade nos EUA, aplicado de maneira virtual aqui no Brasil. traz os conceitos referentes às tecnologias de apoio à adoção de animais. Os trabalhos relacionados são discutidos na Seção 4 4 Trabalhos relacionados Apesar de existirem inúmeras iniciativas apoiadas por tecnologia para adoção de animais, ainda é tímida ou relativamente pouco divulgada as incursões científicas nessa direção. Em Souza et al. (2022), os autores apresentam um algoritmo inteligente para recomendar caminhos que auxiliem adotantes na procura do seu pet desaparecido. Para viabilizar o algoritmo, foi desenvolvido um webapp a fim de coletar dados de adotantes voluntários sobre a localização em que um pet foi encontrado. Os resultados alcançados indicam que é possível recomendar rotas que minimizem o esforço para procurar um animal desaparecido. De modo bastante similar à nossa proposta, Siqueira Santos et al. (2021) desenvolveram um aplicativo para dispositivos móveis que visa auxiliar a população geral a realizar buscas de animais de estimação que estejam para doação, utilizando algoritmos de recomendação para a exibição de animais de acordo com o perfil do adotante. Cheng et al. (2022) propõem (1) um aplicativo para prever o comportamento de cães e (2) uma plataforma de comunicação usando smartphones para se conectar com cães de diferentes famílias. Para prever os comportamentos dos cães, são realizados os métodos de reconhecimento de emoções caninas e reconhecimento de latidos caninos. O modelo proposto ResNet e o modelo sequencial são implementados para reconhecer emoções e latidos de cães. A média ponderada é proposta para combinar o valor de previsão da emoção do cão e do latido do cão para melhorar a saída da previsão. Posteriormente, a saída da previsão é encaminhada para um módulo de recomendação para responder às condições dos cães. Em Song e Kim (2021), os autores desenvolveram um algoritmo que tenta recomendar rações apropriadas ou inapropriadas para cães usando inteligência coletiva baseada na experiência do adotante e no conhecimento prévio de especialistas. Com base no estado físico e de saúde dos cães, esse estudo extrai quais nutrientes são necessários para os cães e recomenda a ração mais adequada contendo esses nutrientes. Apesar de não ser um SR para pets, o algoritmo pode ser adaptado para adoção. Em Chyan (2020), os autores projetaram um sistema de apoio à decisão por meio de um modelo analítico que usa uma variedade de dados sobre as características de cães de raça pura obtidos de diferentes fontes. Os dados de fontes oficiais são obtidos de organizações internacionais de cães de raça pura que estabelecem os padrões para cada tipo de raça, enquanto os dados de fontes não oficiais são obtidos da comunidade de amantes de cães, especialistas e proprietários de canis. O resultado do estudo fornece recomendações apropriadas para possíveis adotantes na seleção de uma raça que atenda às suas preferências e necessidades. Jeyaraj e Aponso (2020) apresentam a análise de características fotográficas que afetam a velocidade de adoção e abordagens automatizadas computadorizadas de classificação de imagens. As abordagens de classificação serão revisadas e usadas na concepção de uma aplicação da pesquisa em andamento para prever a velocidade de adoção da imagem de um animal de entrada. Similarmente à nossa proposta, em Kajbaje, Sawant e Patil (2022), a tecnologia proposta pelos autores permite aos usuários identificar possíveis adotantes para seus cães, tornando o processo de adoção mais eficiente. Métodos de aprendizado e recomendação auxiliam o adotante apresentando todas as informações necessárias para fazer uma escolha informada. Através de um aplicativo, adotantes também podem fazer um agendamento com os doadores para iniciar o processo de adoção. . A Seção 3 3 Tecnologia no apoio à adoção de animais Segundo Gomes (2013), animais abandonados estão suscetíveis a riscos como maus tratos que, apesar de crime, não são punidos adequadamente. Além do sofrimento animal, o desamparo causa outros sérios problemas, como a proliferação de doenças transmissíveis para humanos, tais como a raiva e a leishmaniose. Animais em situação de abandono geram riscos à saúde pública, aumento dos gastos públicos, superlotação em Organizações Não Governamentais (ONG) e nos centros de zoonoses. Para acolher esses bichos em vulnerabilidade, conforme citado por Matos (2012), surgem as ONGs que desempenham um papel essencial na luta pela causa animal e, juntamente com protetores independentes, atuam resgatando, tratando e servindo de lar transitório. Porém, a quantidade de abandono é grande, e, assim, muitas instituições abrigam mais animais do que a infraestrutura permite. Por isso, devido à superlotação, muitos defensores acabam transformando a própria casa em abrigo temporário, o que pode não garantir uma boa assistência ao animal. Muitos dos recolhidos pelos centros de zoonoses brasileiros não são resgatados e adotados pela população. Dessa forma, acabam sendo submetidos à eutanásia, em virtude dos custos gerados ao cofres públicos pela manutenção em canis ( Alejo et al., 2008 ) e pela falta de recursos para tratar as doenças e infecções que a maioria apresenta. Contudo, até mesmo a eutanásia exige despesas, conforme descrito na Resolução nº 174 do Conselho Federal de Medicina Veterinária (CFMV), com a compra de medicamentos, seringas e agulhas; além da contratação de médico-veterinário e da construção de um ambiente adequado para a realização do procedimento. Por isso, a utilização da tecnologia intenciona favorecer e apoiar o acesso dos interessados em ter um animal de estimação à adoção, desencorajando a compra. Entende-se que retirar um bicho da situação de abandono é um benefício não somente para o animal, mas para as ONGs que, geralmente, encontram-se lotadas — visto que a entrada de animais é, muitas vezes, maior que a saída —, para o ser humano, submetido às doenças transmitidas por animais de rua, e aos cofres públicos, que precisam realizar a eutanásia como forma mais rápida de “solucionar” o problema. 3.1 Tecnologias no apoio à adoção Tecnologias, a nível de software e/ou hardware, já são utilizadas na identificação e controle para ajudar ONGs no resgate e na adoção de animais em situação de abandono, reduzindo o número de bichos tutelados por essas instituições. Algumas dessas tecnologias são empregadas para fins de controle, como os microchips implantados em bois para manejo de rebanho. Um trabalho realizado por Tozzi, Anderle e Nogueira (2018) buscou pesquisas que objetivavam diminuir o abandono e melhorar a divulgação de animais para adoção na região da Associação dos Municípios da Região da Foz do Rio Itajaí (AMFRI). Dentre as fases do estudo, encontra-se uma etapa em que foi feita uma pesquisa de campo e o desenvolvimento de um sistema web. A investigação realizada levantou algumas tecnologias para apoiar o resgate de animais domésticos em situação de rua. Ainda segundo os autores Tozzi, Anderle e Nogueira (2018), algumas inovações já são comumente utilizadas no suporte e na solução de problemas de reconhecimento e proteção do animal, evitando a perda deste. É o caso do microchip Radio Frequency Identification (RFID), da Figura 3, que consiste em um método de identificação através de sinais de rádio, cujos chips armazenam informações que podem ser lidas por leitores de etiquetas eletrônicas. O RFID é muito utilizado em controle de estoque, rastreamento de pacientes em hospitais e na contenção do rebanho, na agricultura. Figura 3. Etiqueta RFID utilizada no Unleashed Indoor Dog Park. Fonte: ( Tozzi; Anderle; Nogueira, 2018). Outra tecnologia é a coleira com Quick Response Code - QR Code Figura 4, inserido no mercado pela FurCode. Consiste numa coleira com medalha de identificação com QR Code, que possibilita acessar a página do animal. Por meio desta, a pessoa que encontrar o animal utilizando a coleira pode ter acesso às informações de contato do adotante, telefone do médico veterinário, fotos e informações médicas. Além do QR Code, a medalha pode conter o link da página do animal, para caso o indivíduo que o encontre não tenha acesso a um dispositivo que lê esse tipo de código. A utilização de microchips em animais também tem favorecido a adoção responsável. Consoante notícia publicada pelo Falconery (2019), em Fortaleza, a Coordenadoria Especial de Proteção e Bem-Estar Animal (Coepa), da Prefeitura de Fortaleza, está implantando microchips em cães e gatos que foram adotados em eventos de adoção realizados na cidade. Até julho de 2019, 1.977 animais receberam o dispositivo e entraram para o banco de dados do órgão. O objetivo da iniciativa é acompanhar os animais adotados para evitar possíveis abandonos. Figura 4. Coleira com QR Code da FurCode. Fonte: ( FurCode, s.d.). 3.2 Sistemas e iniciativas de apoio à adoção de pets Os aplicativos de busca também são utilizados para cadastrar animais que tenham fugido de casa ou se perderam de seus adotantes. Através deste cadastro, os adotantes inserem fotos e informações do animal desaparecido e os dados de contato. Há o exemplo do app Petfinder Adoptable Pets, visto na Figura 5 e disponível para Android e iOS, que se constitui num app de busca de perdidos e abandonados. A interface conta um mapa mostrando os animais disponíveis mais próximos do adotante. Figura 5. Tela de busca do app Petfinder Adoptable Pets Fonte: Produits Nestlé S.A. (2023) Outra alternativa são os aplicativos de identificação de animal que a promovem por meio de recognição facial, utilizando a tecnologia de comparação de imagens (visão computacional e inteligência artificial), como é o caso do app Crowdpet 1, apresentado na Figura 7. Segundo notícia publicada pela FAPESP (2017), o aplicativo cruza duas fontes de dados: as fotos dos animais perdidos cadastradas por seus adotantes e as fotos de animais avistados nas ruas por voluntários. Usa, assim, reconhecimento facial para buscar combinações entre as características de cães e gatos achados e perdidos. Uma aplicação que também usa identificação facial foi desenvolvida pela startup chinesa Megvii, Figura 6, que fornece soluções para recognição da face ao programa de vigilância do governo da China. Conforme publicação de Pederneiras (2022), o app identifica rostos de animais de estimação através de impressões lidas no nariz de cães, espécies de impressões digitais, para gerar um banco de dados que ajuda a localizar animais perdidos. Figura 6. Telas do app chinês de reconhecimento facial. Fonte: ( Garun, 2019). Figura 7. App Crowdpet cruza características de fotos publicadas de animais achados e perdidos. Fonte: ( Eley, 2014). Quando se pensa em adotar um pet, atualmente, basta pesquisar na Web alguma instituição governamental ou portal da prefeitura municipal que disponibiliza animais para adoção. Essas informações já se encontram facilmente disponíveis, trazendo, algumas vezes, a descrição das características físicas e comportamentais dos animais, assim como podem informar se o animal já é vermifugado, vacinado, castrado etc. Algumas instituições públicas e ONGs possuem seu próprio meio de disponibilizar dados sobre os animais a serem adotados, através de apps mobile ou web sites. Isso torna mais prático promover a adoção naquela determinada região, sem que os indivíduos tenham que se deslocar para conhecer os animais e suas características relevantes. Nos Estados Unidos a American Society for the Prevention of Cruelty to Animals ( Protopopova; Gunter, 2017), utiliza o Geographic Information System (GIS), ferramenta que analisa a localização geográfica e organiza camadas de informação em visualizações, usando mapas e cenas 3D. Com esse recurso, o GIS traz outras características sobre dados, como padrões, relacionamentos e situações, ajudando os adotantes a tomar decisões mais inteligentes. A Protopopova e Gunter (2017) realizou sua pesquisa com apoio de várias comunidades espalhadas no país que utilizavam o GIS. Segundo Nahra (2015), a partir desses dados, eles conseguem desenvolver estratégias para diminuir o abandono — Owner Surrender — e reduzir a entrada nos abrigos. Owner Surrender é quando o adotante leva o bicho a um abrigo e diz que não quer ou não pode mais ficar com o animal, mediante pagamento de uma taxa. A associação também possui um programa de adoção baseado em pesquisa, chamado Meet Your Match Figura 8, que une adotantes a animais cujos perfis sejam compatíveis, semelhante ao que o projeto deste trabalho propõe, por meio de um app. O ASPCA realizou uma pesquisa de cinco anos analisando como o programa Meet Your Match Feline-ality afetou adoções, taxas de retorno, tempo de permanência e índices de eutanásia de gatos. O software também é aplicado para cães, através do Meet Your Match Canine-ality. A pesquisa revelou que a conversa e os dados coletados pelos conselheiros de adoção deram aos possíveis adotantes elementos necessários para modificar suas expectativas e aumentar a probabilidade de uma correspondência bem-sucedida. Quase todos os adotantes pesquisados disseram que provavelmente escolheriam um abrigo que usasse o método Meet Your Match Adoption ao adotar um animal no futuro ( Protopopova; Gunter, 2017). Assim, após a conversa, o conselheiro classifica o provável adotante em uma das três cores: os verdes são mais bem-sucedidos com cães que gostam de estar física e mentalmente envolvidos; os laranjas são uma boa opção para cães que são receptivos e gostam de atividades e interações; e os roxos ficam confortáveis com cães que têm atitude e estilo de vida descontraídos. Essa catalogação também é adaptada para os felinos no Feline-ality. Figura 8. Página do Meet Your Match no site do ASPCA. Fonte: ( ASPCA, s.d.). Consoante Protopopova e Gunter (2017), os abrigos que o Meet Your Match encontraram melhorias significativas no número de adoções e retornos. Na Kansas Humane Society, o retorno caiu em 50%, dentro de um mês. No Bay Area Humane Society e Animal Shelter ( Green Bay, WI), houve queda entre 1 e 2%. No Marquette Humane Society ( Negaunee, MI), o número de adoções cresceu 37,5%. A pesquisa Meet Your Match Adoption, desenvolvida pelo ASPCA, portanto, possui características semelhantes às de um SR’s. Associando a pesquisa ao SR, os adotantes seriam os adotantes e os conselheiros representam o SR, que analisa as características do provável adotante e o enquadra em um perfil (verde, laranja ou roxo). O que já tem fundamento em pesquisas e também funciona na prática, teria uma versão virtual, inicialmente como aplicativo mobile. Assim, seria uma oportunidade de ter um programa em atividade nos EUA, aplicado de maneira virtual aqui no Brasil. detalha a arquitetura do sistema de recomendação bem como os algoritmos. A Seção 5 5 Um sistema de recomendação baseado em conteúdo para adoção de cães utilizando a técnica do cosseno ponderado Nesta seção será abordada a solução proposta, denominada RecAdoption, que consiste em indicar cães utilizando a técnica do cosseno ponderado trazendo os dados de gostos distintos do adotante considerando as características do pet. Também será apresentado o funcionamento do sistema, além das tecnologias utilizadas na sua construção. Por fim, será demonstrado o funcionamento de um protótipo de app mobile para recomendação de cães disponíveis para adoção. O fluxo da arquitetura que será explicitado nessa seção é visualizado na Figura 9. Figura 9. Arquitetura da aplicação. Fonte: Autoria própria. Nesta seção será apresentada a arquitetura do aplicativo, evidenciando tecnologias e características. 5.1 Tratamento de dados O tratamento de dados consistiu em combinar as informações dos vetores de usuários e itens, de modo que fosse possível comparar as características, apesar das estruturas diferenciadas. Dessa forma, foram criados, em cada um dos animais, campos que correspondessem ao que foi preenchido nas telas de cadastros. Para o adotante, por exemplo, uma das perguntas consiste em “Gosta de cão brincalhão". Dentre as respostas possíveis temos”brincalhão" e “não brincalhão". Hipoteticamente, a opção escolhida foi”brincalhão". Já no caso do animal, a questão correspondente é "Gosta de brincadeiras" Figura 10, e a resposta pode ser "sim" ou "não"; se for "não", tratamos o vetor para armazenar "não brincalhão", e, se for "sim", o tratamento garante que seja armazenado "brincalhão". Essa etapa foi crucial para que fosse possível realizar o cálculo do cosseno. Figura 10. Tela principal do SR com um cão e suas características. Fonte: Autoria própria. 5.1.1 Cálculo do Cosseno \begin{equation}cos(A,\ B) =\frac{\sum_{i=1}^{n} P_{i} A_{i} B_{i}}{\sqrt{\sum_{i=1}^{n} P_{i}A_{i}^{2}}\sqrt{\sum_{i=1}^{n} P_{i}B_{i}^{2}}}\qquad{(1)}\end{equation} c o s ( A , B ) = ∑ i = 1 n P i A i B i ∑ i = 1 n P i A i 2 ∑ i = 1 n P i B i 2 ( 1 ) A Similaridade do Cosseno é uma técnica bastante aplicada em sistemas, principalmente em mineração de textos, conforme Saleem et al. (2014). A técnica utiliza o ângulo entre dois vetores, instâncias A e B, do usuário e do item, respectivamente, representadas em vetores com o valor de cada atributo, como medida de correspondência. A similaridade é máxima quando os vetores apontam na mesma direção (ângulo = 0º) e mínima quando são perpendiculares (ângulo = 90º). Desse modo, ela varia em um intervalo de [0,1] e mede o quanto duas instâncias são parecidas. Por isso, quanto mais próximo de 1, o valor da similaridade, mais parecidas serão as instâncias comparadas ( Al-bashiri et al., 2017). Este estudo se baseou na Técnica da Similaridade do Cosseno 2, contudo pode-se notar a adaptação da Equação (1). Conclui-se, assim, que essa técnica é representada pelo produto interno entre os vetores A e B sobre o tamanho (norma) de cada vetor, multiplicado pela variante P, que representa o grau de importância de cada característica selecionada pelo usuário na tela de relevância, conforme a Figura 13. A premissa da Similaridade do Cosseno permanece inalterada, pois considera-se que a similaridade resultante varia de -1, significando que o usuário e o item são opostos, à 1, significando que eles são idênticos, enquanto o valor 0 representa a inexistência de relação entre eles. Os valores intermediários, se forem próximos de 1, indicam correspondência, enquanto próximos a 0 indicam dissimilaridade. No entanto, na recuperação de informação, o resultado da similaridade do cosseno não pode ser negativo, visto que o ângulo entre dois vetores não pode ser maior que 90° ( Dias de Almeida; Durao, 2020). 5.1.2 Acesso ao Banco de Dados Figura 11. Tabela avaliados no Banco de Dados. Fonte: Autoria própria. O Acesso ao Banco de Dados é o responsável pelo armazenamento das informações referentes à aplicação, o gerenciamento dos dados de forma segura, portanto, garante a fluidez na realização dos processos. A criação das tabelas são realizadas a partir de comandos de inserção do próprio aplicativo, não sendo utilizada uma linguagem para as criações das tabelas e seus respectivos campos, visto que as informações são salvas como arquivos JSON, conforme o exemplo da Figura 11. Logo, a cada requisição feita ao Banco de Dados, as informações são criptografadas e enviadas juntas a um token de acesso. Por conseguinte, assim são realizadas as funcionalidades da aplicação, como cadastrar as características e seu grau de importância para cada adotante, verificar as indicações, visualizar a lista de animais, enviar sugestões, avaliar as recomendações, entre outras. 5.2 Modelo de usuário Neste trabalho, o modelo de usuário foi construído através de alguns questionários elaborados por outras aplicações Web e mobile, que “sugerem” raças de cães correspondentes ao perfil elaborado de acordo com as respostas do adotante. Um desses questionários é o Dog Breed Selector Quiz Figura 12, o qual contém uma relação de 14 perguntas com 0respostas gráficas de escolha única. Outro questionário é apresentado no app mobile Dog Breed Chooser e tem o mesmo objetivo do anterior. Figura 12. Dog Breed Selector Quiz. Fonte: ( IAMS…, s.d.). Esses questionários incluem perguntas com a intenção de coletar informações sobre a vida do adotante, a fim de definir seu estilo de vida — se mora em casa ou apartamento, se possui jardim ou área de lazer, se tem filhos pequenos ou já crescidos, se já teve ou tem algum outro animal de estimação, se pretende ter um cão companheiro ou um cão de guarda. Ao definir esse perfil, no final, são recomendadas raças de cães que se encaixam naquela descrição. Ressalta-se que algumas informações utilizadas para o cálculo da similaridade foram influenciadas pelos questionários citados anteriormente. O objetivo é sempre garantir uma melhor indicação. Na Figura 14, é demonstrada a tela de cadastro da pessoa que constrói o seu perfil. Assim, o modelo de usuário é composto pelos seguintes atributos: moradia: tipo de moradia do adotante (casa ou apartamento); porte: preferência por um determinado porte (pequeno, médio ou grande); pelagem: predileção por cães de pelos longos ou curtos; sexo: preferência pelo sexo do cão (macho ou fêmea); queda-pelo: se a queda de pelos pode incomodar ou o adotante é muito alérgico; amigável-crianca: predileção por cães que gostam de crianças; brincadeira: preferência por cães brincalhões; exercício: predileção por cães muito ativos; guarda: preferência por cães de guarda; tende-latir: se latidos frequentes incomodam ou não são permitidos no local onde o adotante mora. Figura 13. Tela de relevância das características do usuário do SR. Fonte: Autoria própria. Na Figura 13, nota-se a tela de relevância das características, informadas na tela de cadastro do usuário, podendo variar de 0 a 10. Dessa maneira, teremos também no modelo de usuário os aspectos subsequentes: relevância-moradia: grau de relevância do tipo de moradia do adotante (casa ou apartamento); relevância-porte: grau de relevância da preferência por um determinado porte (pequeno, médio ou grande); relevância-pelagem: grau de relevância da predileção por cães de pelos longos ou curtos; relevância-sexo: grau de relevância da preferência pelo sexo do cão (macho ou fêmea); relevância-queda-pelo: grau de relevância quanto ao incômodo da queda de pelos ou se o adotante é muito alérgico; relevância-amigável-crianca: grau de relevância da predileção por cães que gostam de crianças; relevância-brincadeira: grau de relevância da preferência por cães brincalhões; relevância-exercicio: grau de relevância da predileção por cães muito ativos; relevância-guarda: grau de relevância da preferência por cães de guarda; relevância-tende-latir: grau de relevância quanto ao incômodo por latidos frequentes ou pela proibição destes no local onde o adotante mora. Figura 14. Tela de cadastro do usuário do SR. Fonte: Autoria própria. 5.3 Modelo do Item Os itens de recomendação do SR deste trabalho são cães. As características dos itens foram elaboradas baseadas nos questionários citados na seção anterior e na lista internacional de raças BKC ou Breeders Kennel Club, que descrevem as principais características dos cães. O modelo dos itens de usuário contém os mesmo atributos ( tags) que o modelo de usuário, porém com informações sobre as particularidades do cão — moradia ideal, o porte, a pelagem. Uma representação do padrão de itens é demonstrada na Figura 10, a tela principal do aplicativo proposto neste trabalho. 5.4 Recomendação A Recomendação é responsável por exibir ao usuário um conjunto de itens fundamentado no grau das ponderações de sua preferência, a partir de cada propriedade junto aos outros dados preenchidos na tela de cadastro. Assim, o comportamento deste algoritmo é evidenciado no pseudocódigo, demonstrado e explicado a seguir: Algorithm 1 Pseudocódigo para Recomendação Require: dadoUser, dadosAnimal, β Ensure: resultado 1: usuario←tratarUsuario(dadoUser) 2: itens←tratarItens(dadosAnimal) 3: resultado←∅ 4: while itens<β 5: resultado←resultado∪calcularCosseno(usuario,itens) 6: end while 7: resultado←ordenarSimilaridade(resultado) Require: são os parâmetros de entrada dadosUser representando o vetor de usuário; dadosAnimal corresponde a um veículo de vetores de animais; e o \begin{equation}\beta\end{equation} β é a quantidade de animais do vetor. Ensure: é esperado o retorno da variável resultado, ordenada por similaridade. linha 1: a variável usuário é preenchida com o retorno da função \begin{equation}tratarUsuario(usuario)\end{equation} tratarUsuario(usuario), que recebe como padrão o próprio usuário e devolve em um vetor de vetores de características e suas relevâncias correspondentes. linha 2: a variável itens é preenchida com o retorno da função \begin{equation}tratarItens(itens)\end{equation} tratarItens(itens), cujo critério recebido é o próprio item, e devolve um vetor de vetores de particularidades dos animais sem as respostas referentes a "sim" e "não". linha 3: a variável resultado é inicializada com valor Ø, representando o vazio. linha 5: Enquanto o total de itens for menor que o tamanho total do vetor, a variável resultado realiza a aplicação da Equação (1) e inclui um novo campo no vetor referente à similaridade do cosseno ponderado retornado pela mesma. linha 7: a variável resultado é preenchida com o retorno da função \begin{equation}ordenarSimilaridade(resultado)\end{equation} ordenarSimilaridade(resultado), que recebe como parâmetro o próprio resultado e devolve um vetor resultado ordenado, do maior para o menor, pelo campo similaridade. 5.5 Tecnologias A seguir são apresentadas as tecnologias utilizadas neste projeto. Uma dessas é o Front-end, parte capaz de ter interação direta com o usuário, contém comportamentos de elementos, visual, usabilidade, funcionalidades e acessibilidade. O aplicativo é desenvolvido utilizando o Ionic 3, um framework open source para desenvolvimento de aplicativos móveis híbridos. Tem como base o Apache Cordova, que injeta o código HTML/CSS/JavaScript em um componente do Android chamado WebView, o qual permite que as aplicações do Android exibam conteúdo da web diretamente dentro de um aplicativo ( Karam; Halstead-Nussloch, 2012). Assim, é possível desenvolver uma aplicação funcional tanto para Android como para iOS, utilizando o mesmo código fonte. A versão do Ionic utilizada neste trabalho é a 3, que emprega o Angular com Typescript, em vez de Javascript. O Back-end é o responsável pela parte de tratamento de dados, cálculo do cosseno e recomendação e acesso ao banco de dados. A linguagem usada foi a TypeScript, um super conjunto de JavaScript (ES2015+), criado pela Microsoft. Segundo Maharry (2013), ao contrário de outras linguagens que compilam para JavaScript, o TypeScript não tenta alterar o JavaScript para um novo código. Os recursos do TypeScript são alinhados de maneira mais próxima ao JavaScript. Por isso, os desenvolvedores que manipulam TypeScript podem aproveitar os recursos mais recentes da linguagem JavaScript; além de um sistema de tipagem forte para escrever códigos mais organizados, aproveitando as ferramentas avançadas que o uso de uma linguagem de tipo estática fornece. Em desenvolvimento de software, a Programação Orientada a Objeto (POO) sempre foi um problema quando se emprega o JavaScript. Sua sintaxe não permite escrever classes de forma tão clara, por exemplo, o que impede a aplicação dos demais conceitos da POO, como herança e polimorfismo, ademais da fraca tipagem de dados. No TypeScript, é possível contornar esses problemas adicionando funcionalidades que, quando compiladas, resultarão em código JavaScript novamente. Outra tecnologia utilizada é o Firebase, um BaaS (Backend as a Service) para aplicações Web e Mobile do Google. BaaS é um serviço disponibilizado capaz de auxiliar toda a estrutura do back-end por meio de serviços como configuração de servidor, integração com banco de dados, sistema de push notification, dentre outros. Alguns desses serviços oferecidos pelo Firebase foram utilizados neste trabalho; é o caso do Banco de Dados em Tempo Real, que permite o armazenamento e sincronismo das informações entre usuários e dispositivos, bem como utiliza um banco de dados, NoSQL, hospedado na nuvem ( Orlandi, 2019). Vale ressaltar que o método de autenticação é realizado através de e-mail/senha, a partir da autorização de login/ logout no aplicativo. A integração entre o front-end ( Angular) e o back-end ( Firebase), neste trabalho, é feita pela biblioteca AngularFire2, através de requisições REST. apresenta a avaliação experimental, e a Seção 7 7 Conclusão Este trabalho apresenta uma análise da Técnica do Cosseno Ponderado para recomendações de itens por usuário, que se mostrou superior aos outros dois algoritmos utilizados. Portanto, a Aplicação RecAdoption foi alterada para usar essa técnica em substituição à da Similaridade do Cosseno tradicional, sendo liberada uma nova versão. Foi apresentada a metodologia e a avaliação. Os métodos de avaliação e os resultados foram apresentados, revelando um resultado satisfatório para a proposta. Isso evidencia que é possível melhorar as recomendações de animais utilizando a Técnica do Cosseno Ponderado. O SR implementado, para fins desse estudo, teve como objetivo avaliar a recomendação usando a Técnica do Cosseno Ponderado. Confirmou-se, através da comparação entre os algoritmos de Similaridade do Cosseno Tradicional e do Randômico, sua maior eficiência, podendo ser disponibilizado para o uso por quaisquer instituições para adoção de pet. Como trabalhos futuros, espera-se que o usuário possa inserir itens através da própria aplicação para facilitar a quantidade de animais disponíveis para adoção. Também deve ser possível retirar relatórios com as métricas do sistema, exibindo quantidade total de usuários, suas posições e os valores de sua precisão. Outras técnicas de recomendação também podem ser adotadas a fim de avaliar a recomendação baseada em localização geográfica, favorecendo doadores mais próximos de quem é adotante. conclui o trabalho e aponta os trabalhos futuros.

2 Sistemas de recomendação

Quando o acesso à informação começou a ser facilitado através da Web, o compartilhamento de dados passou a ser multiplicado. Os sites de notícia, serviços de streaming de música e vídeo, e-commerce etc. utilizaram a indicação para filtrar o oferecimento de grande quantidade de informações de interesse do adotante. Os sistemas de recomendação funcionam, portanto, como salva-vidas nesse mar de dados. Sem eles, diante de tantas opções, fazer uma boa escolha poderia custar tempo, principalmente quando a pessoa possui pouca experiência de decisão em meio a inúmeras alternativas.

Para discutir sobre os sistemas de recomendação é preciso voltar no tempo, quando o primeiro SR era um tradicional sistema de filtragem e recuperação de informação, o Tapestry ( Goldberg et al., 1992 GOLDBERG, David; NICHOLS, David; OKI, Brian M.; TERRY, Douglas. Using Collaborative Filtering to Weave an Information Tapestry. Commun. ACM, ACM, New York, NY, USA, v. 35, n. 12, p. 61–70, dez. 1992. ISSN 0001-0782. DOI: 10.1145/138859.138867. Disponível em: http://doi.acm.org/10.1145/138859.138867.
http://doi.acm.org/10.1145/138859.138867...
), um sistema experimental de filtração de e-mails, desenvolvido em 1992, por Xerox Palo Alto Research Center (PARC). O Tapestry era baseado em filtragem colaborativa, sendo o primeiro a usar o termo, e permite pesquisar e-mails segundo o conteúdo do documento e as reações registradas de outros adotantes. E, diferente dos demais sistemas do período, o Tapestry não apenas examinava o e-mail quando ele chegava, mas exibia anotações registradas por pessoas que já consultaram aquele e-mail. No entanto, apesar de ser fundamentado em filtragem colaborativa, utilizava a de conteúdo ( Goldberg et al., 1992 GOLDBERG, David; NICHOLS, David; OKI, Brian M.; TERRY, Douglas. Using Collaborative Filtering to Weave an Information Tapestry. Commun. ACM, ACM, New York, NY, USA, v. 35, n. 12, p. 61–70, dez. 1992. ISSN 0001-0782. DOI: 10.1145/138859.138867. Disponível em: http://doi.acm.org/10.1145/138859.138867.
http://doi.acm.org/10.1145/138859.138867...
); isto é, no final, filtrava hibridamente. Assim, além da colaboração humana, lidava com palavras comuns contidas nos e-mails.

Em sua publicação na revista da ACM, Resnick e Varian (1997)RESNICK, Paul; VARIAN, Hal R. Recommender Systems. Commun. ACM, ACM, New York, NY, USA, v. 40, n. 3, p. 56–58, mar. 1997. ISSN 0001-0782. DOI: 10.1145/245108.245121. Disponível em: http://doi.acm.org/10.1145/245108.245121.
http://doi.acm.org/10.1145/245108.245121...
preferem utilizar o termo SR, uma vez que defendem que as recomendações podem sugerir itens preferencialmente relevantes e indicar quais devem ser filtrados sem necessitar da colaboração de pessoas. Desses itens recomendados, os adotantes podem fornecer feedbacks implícito ou explícito, com um simples clique. Uma metodologia típica para fornecer esse feedback é na forma de classificações, na qual os indivíduos selecionam valores numéricos de um sistema de avaliação específico — o sistema de classificação de cinco estrelas, por exemplo Aggarwal (2016)AGGARWAL, Charu C. An Introduction to Recommender Systems. In: RECOMMENDER Systems: The Textbook. Cham: Springer International Publishing, 2016. p. 1–28. ISBN 978-3-319-29659-3. DOI: 10.1007/978-3-319-29659-3_1.
https://doi.org/10.1007/978-3-319-29659-...
—, assim como foi utilizado neste estudo. Outras formas de retornos podem ser manipuladas de forma implícita, nas quais o adotante fornece dados para a recomendação de uma forma fácil, como o caso da Amazon e outros comerciantes online, com a compra ou navegação em itens ( Aggarwal, 2016AGGARWAL, Charu C. An Introduction to Recommender Systems. In: RECOMMENDER Systems: The Textbook. Cham: Springer International Publishing, 2016. p. 1–28. ISBN 978-3-319-29659-3. DOI: 10.1007/978-3-319-29659-3_1.
https://doi.org/10.1007/978-3-319-29659-...
).

O Sistema de Recomendação é uma ferramenta de software e técnicas que fornecem sugestões de itens para serem úteis ao adotante ( Ricci; Rokach; Shapira, 2011RICCI, Francesco; ROKACH, Lior; SHAPIRA, Bracha. Introduction to Recommender Systems Handbook. In: [s. l.]: Springer US, 2011. p. 1–35. ISBN 978-0-387-85820-3. DOI: 10.1007/978-0-387-85820-3_1.
https://doi.org/10.1007/978-0-387-85820-...
). Um SR normalmente se concentra em um tipo específico de item (tais como filmes e músicas) e, consequentemente, o design e a técnica de recomendação principal, utilizados para gerar as sugestões, são todos personalizados, a fim de fornecer indicações adequadas e eficazes para aquele item particular ( Ricci; Rokach; Shapira, 2011RICCI, Francesco; ROKACH, Lior; SHAPIRA, Bracha. Introduction to Recommender Systems Handbook. In: [s. l.]: Springer US, 2011. p. 1–35. ISBN 978-0-387-85820-3. DOI: 10.1007/978-0-387-85820-3_1.
https://doi.org/10.1007/978-0-387-85820-...
). Os SRs referem-se, basicamente, a três tipos de objetos, apresentados abaixo:

  • Itens: os artigos que são recomendados. Podem ser caracterizados pela complexidade, valor ou utilidade. O valor de um item pode ser positivo, se é útil para o usuários, ou negativo, se não é apropriado ou foi escolhido erroneamente pelo próprio indivíduo. São apresentados a partir de várias abordagens de representação e informação; o filme, por exemplo, é o item a ser sugerido na Netflix.

  • Usuários: têm uma variedade de objetivos e características. Os SRs extraem um conjunto de informações deles para personalizar as indicações. Essa seleção será modelada pelo sistema a depender da técnica de recomendação.

  • Transações: são os registros de interações entre o usuário e o SR, usados pelos algoritmos de recomendação do sistema para encontrar e gerar sugestões úteis ao usuário — como navegar em um item e dar ‘ like’ ou ‘ deslike’.

2.1 Tarefas de um sistema de recomendação

Após definir o que é um SR, serão detalhadas cada função que um SR pode desempenhar. Baseando-se no artigo de Ricci, Rokach e Shapira ( 2011RICCI, Francesco; ROKACH, Lior; SHAPIRA, Bracha. Introduction to Recommender Systems Handbook. In: [s. l.]: Springer US, 2011. p. 1–35. ISBN 978-0-387-85820-3. DOI: 10.1007/978-0-387-85820-3_1.
https://doi.org/10.1007/978-0-387-85820-...
), que diferencia as tarefas de um SR dos provedores de serviços que fazem uso das recomendações, tem-se as seguintes atribuições:

  • Aumentar o número de itens vendidos: considerada como a principal função de um SR comercial, deve ser capaz de vender um conjunto adicional de itens em comparação àqueles normalmente vendidos sem qualquer tipo de indicação. Esse objetivo é alcançado porque os itens recomendados, provavelmente, atendem as necessidades e desejos do usuário.

  • Vender itens mais diversificados: selecionar e oferecer itens que podem ser difíceis de encontrar sem uma sugestão precisa.

  • Elevar a satisfação do usuário: a combinação de recomendações acertadas e uma interface utilizável impulsionarão a avaliação e o aproveitamento do usuário no sistema.

  • Amplificar a fidelidade do usuário: quanto mais tempo a pessoa interage com o sistema, mais refinado seu modelo de usuário se torna; ou seja, melhor será a representação do sistema sobre suas preferências.

  • Entender melhor o desejo do usuário: ter uma boa descrição dos interesses de quem usa o serviço, podendo ser reaproveitada em outros aplicativos. Um provedor de serviços pode, então, decidir utilizar esse conhecimento para outros objetivos.

Em seguida, listam-se onze tarefas que um SR pode auxiliar a implementar para apoiar o usuário em suas escolhas, segundo Herlocker et al. (2004)HERLOCKER, Jonathan L.; KONSTAN, Joseph A.; TERVEEN, Loren G.; RIEDL, John T. Evaluating Collaborative Filtering Recommender Systems. ACM Trans. Inf. Syst., ACM, New York, NY, USA, v. 22, n. 1, p. 5–53, jan. 2004. ISSN 1046-8188. DOI: 10.1145/963770.963772. Disponível em: http://doi.acm.org/10.1145/963770.963772.
http://doi.acm.org/10.1145/963770.963772...
, uma referência clássica:

  • Encontrar alguns itens bons: recomendar ao usuário alguns itens, como uma lista classificada, com alguma forma de avaliar o quanto gostou de determinado item — por exemplo, uma escala de cinco estrelas.

  • Encontrar todos os itens bons: sugerir todos os itens que podem satisfazer as necessidades do usuário. Em alguns casos, é insuficiente localizar alguns itens bons quando a quantidade é relativamente pequena.

  • Anotação em contexto: dada uma lista de itens, evidenciar alguns, de acordo com as preferências do usuário.

  • Recomendar uma sequência: em vez de focar na geração de uma única recomendação, a ideia é indicar uma sequência de itens que seja agradável.

  • Recomendar um grupo: recomendar um grupo de itens que combinem entre si.

  • Apenas navegar: o sistema deve ajudar o usuário a navegar pelos itens, numa seção específica, com maior probabilidade de se enquadrar no escopo dos seus interesses.

  • Encontrar Sistema de Recomendação confiável: para obter confiança do usuário, os sistemas também podem oferecer funções singulares, a fim de permitir que testem seu comportamento além daqueles essenciais para conseguir recomendações.

  • Melhorar o perfil: o usuário pode fornecer informações, para o SR, sobre o que ele gosta ou não. Essa é uma tarefa fundamental para que o sistema seja capaz de fornecer sugestões personalizadas.

  • Expressar-se: alguns usuários podem não se importar com as indicações. Nesse caso, o importante é que possam contribuir com suas avaliações e manifestar suas opiniões e crenças. Desse modo, o sistema deve ofertar um campo para comentários.

  • Ajudar os outros: algumas pessoas ficam felizes em ajudar com informações, tal qual avaliar itens que eles tenham conhecimento ou experiência. Esse tipo de usuário acredita que a comunidade se beneficia de sua colaboração.

  • Ajudar os outros: certos indivíduos têm como objetivo influenciar explicitamente outros a comprar determinados produtos. Também existem aqueles mal-intencionados que podem usar o sistema para promover ou penalizar itens.

2.2 Desafios de um sistema de recomendação

Os modelos básicos de sistemas de recomendação utilizam dois tipos de técnicas: (1) interações usuário-item, como avaliações ou comportamento de compra, e (2) as informações do perfil de usuários, como itens textuais ou palavras-chave relevantes ( Aggarwal, 2016AGGARWAL, Charu C. An Introduction to Recommender Systems. In: RECOMMENDER Systems: The Textbook. Cham: Springer International Publishing, 2016. p. 1–28. ISBN 978-3-319-29659-3. DOI: 10.1007/978-3-319-29659-3_1.
https://doi.org/10.1007/978-3-319-29659-...
). O SR vai oferecer sugestões individualizadas como saída, ou será capaz de guiar o indivíduo de forma particularizada objetivando encontrar itens úteis ( Burke, 2002BURKE, Robin. Hybrid Recommender Systems: Survey and Experiments. User Modeling and User-Adapted Interaction, Kluwer Academic Publishers, Hingham, MA, USA, v. 12, n. 4, p. 331–370, nov. 2002. ISSN 0924-1868.).

Nesta seção, serão explicados os dois principais tipos de sistemas de recomendação encontrados na literatura: as abordagens baseadas em filtragem colaborativa e a de conteúdo. Ressalta-se, contudo, a existência de outros tipos de técnicas como as de conhecimento, demográfica, social e a grupal ( Burke, 2002BURKE, Robin. Hybrid Recommender Systems: Survey and Experiments. User Modeling and User-Adapted Interaction, Kluwer Academic Publishers, Hingham, MA, USA, v. 12, n. 4, p. 331–370, nov. 2002. ISSN 0924-1868.).

2.2.1 Filtragem colaborativa

Considerada a técnica mais popular e amplamente implementada nos SRs, a filtragem colaborativa recomenda ao usuário ativo os itens que outros indivíduos com gostos similares avaliaram positivamente ( Ricci; Rokach; Shapira, 2011RICCI, Francesco; ROKACH, Lior; SHAPIRA, Bracha. Introduction to Recommender Systems Handbook. In: [s. l.]: Springer US, 2011. p. 1–35. ISBN 978-0-387-85820-3. DOI: 10.1007/978-0-387-85820-3_1.
https://doi.org/10.1007/978-0-387-85820-...
). O sistema localiza usuários pares com um histórico de classificação semelhante ao do usuário atual e gera recomendações utilizando esta vizinhança ( Burke, 2002BURKE, Robin. Hybrid Recommender Systems: Survey and Experiments. User Modeling and User-Adapted Interaction, Kluwer Academic Publishers, Hingham, MA, USA, v. 12, n. 4, p. 331–370, nov. 2002. ISSN 0924-1868.).

Em Burke (2002)BURKE, Robin. Hybrid Recommender Systems: Survey and Experiments. User Modeling and User-Adapted Interaction, Kluwer Academic Publishers, Hingham, MA, USA, v. 12, n. 4, p. 331–370, nov. 2002. ISSN 0924-1868., a filtragem colaborativa é dividida em dois métodos, baseados em vizinhança e modelo. O método de vizinhança se concentra nas relações entre os itens ou, alternativamente, entre usuários. Já o modelo molda a preferência de um usuário por um item a partir de elementos semelhantes avaliados pela mesma pessoa ( Ricci; Rokach; Shapira, 2011RICCI, Francesco; ROKACH, Lior; SHAPIRA, Bracha. Introduction to Recommender Systems Handbook. In: [s. l.]: Springer US, 2011. p. 1–35. ISBN 978-0-387-85820-3. DOI: 10.1007/978-0-387-85820-3_1.
https://doi.org/10.1007/978-0-387-85820-...
).

Um SR popular que utiliza filtragem colaborativa é a Netflix. Ela ordena as recomendações de modo que os itens mais ranqueados estejam facilmente visíveis para os usuários, no topo da lista, na tentativa de serem selecionados pelo usuário Figura 1. A mesma estratégia é usada para definir qual tipo de thumbnail será apresentado ao usuário por meio de suas preferências ( Zangerle; Bauer, 2022ZANGERLE, Eva; BAUER, Christine. Evaluating Recommender Systems: Survey and Framework. ACM Comput. Surv., Association for Computing Machinery, New York, NY, USA, v. 55, n. 8, out. 2022. ISSN 0360-0300. DOI: 10.1145/3556536. Disponível em: https://doi.org/10.1145/3556536.
https://doi.org/10.1145/3556536...
).

Figura 1.
Demonstração da lista de recomendação da Netflix.

2.2.2 Filtragem baseada em conteúdo

Um SR embasado em conteúdo aprende a indicar itens semelhantes àqueles que o usuário avaliou bem. A correspondência dos itens é calculada segundo os atributos associados aos itens comparados ( Ricci; Rokach; Shapira, 2011RICCI, Francesco; ROKACH, Lior; SHAPIRA, Bracha. Introduction to Recommender Systems Handbook. In: [s. l.]: Springer US, 2011. p. 1–35. ISBN 978-0-387-85820-3. DOI: 10.1007/978-0-387-85820-3_1.
https://doi.org/10.1007/978-0-387-85820-...
); além de calcular a equivalência entre os itens com características do usuário, que podem ser encontradas em um perfil. Esse tipo de SR analisa um conjunto de atributos dos itens previamente classificados pelo indivíduo ou, até mesmo, do perfil do usuário e, a partir disso, criam um modelo de interesses daquela pessoa ( Zhang et al., 2019 ZHANG, Shuai; YAO, Lina; SUN, Aixin; TAY, Yi. Deep Learning Based Recommender System: A Survey and New Perspectives. ACM Comput. Surv., Association for Computing Machinery, New York, NY, USA, v. 52, n. 1, fev. 2019. ISSN 0360-0300. DOI: 10.1145/3285029. Disponível em: https://doi.org/10.1145/3285029
https://doi.org/10.1145/3285029...
).

O padrão criado é uma representação das preferências do indivíduo, adaptado para encontrar e indicar novos itens que podem ser relevantes. O processo de sugestão consiste em comparar os atributos do modelo do usuário com os atributos de um item. Se um modelo reflete com precisão as preferências do usuário, isso é uma grande vantagem para a eficácia do processo de recomendação ( Lops; Gemmis; Semeraro, 2011LOPS, P.; GEMMIS, M. de; SEMERARO, G. Content-based recommender systems: State of the art and trends. In F. Ricci, L. Rokach, B. Shapira, and P. B. Kantor, editors, Recommender Systems Handbook. In: [s. l.]: Springer US, 2011. p. 73–105. ISBN 978-0-387-85820-3. DOI: 10.1007/978-0-387-85820-3_3.
https://doi.org/10.1007/978-0-387-85820-...
) ( Figura 2).

Figura 2.
Demonstração da recomendação baseada em conteúdo.

2.2.3 Comparação das técnicas de recomendação

Todas as técnicas de recomendação utilizadas na implementação de um SR possuem seus prós e contras. Seja nas informações do usuário, dos itens, na quantidade de dados, e avaliações, tudo pode influenciar o sucesso ou fracasso de uma técnica utilizada para implementação do algoritmo de sugestões do SR.

Conforme apresentado por Burke (2002)BURKE, Robin. Hybrid Recommender Systems: Survey and Experiments. User Modeling and User-Adapted Interaction, Kluwer Academic Publishers, Hingham, MA, USA, v. 12, n. 4, p. 331–370, nov. 2002. ISSN 0924-1868. e discutido por Mladenic (1999)MLADENIC, D. Text-learning and related intelligent agents: A survey. [S. l.]: IEEE Intelligent Systems, 1999. Último acesso em 22 de maio de 2022. Disponível em: https://ieeexplore.ieee.org/document/784084.
https://ieeexplore.ieee.org/document/784...
, seguem alguns pontos comuns das diferenças entre essas duas ferramentas:

  • Baseada em conteúdo: a principal vantagem desta é não precisar de feedback prévio para começar a recomendar algo útil, pois, na falta de registros, o sistema monta um modelo de usuário com as informações de perfil, de cadastro ou de algum item avaliado no passado. A Figura 2 demonstra isso graficamente, o conteúdo B, similar ao A, será recomendado ao usuário. A desvantagem é que cria uma bolha de indicações, gerando uma lista muito similar, com pouca variedade. Outra desvantagem é que o sistema não vai gerar boas recomendações, se o usuário não possuir alguma característica que possa rotulá-lo, ou se não tiver avaliado anteriormente algum item no sistema.

  • Filtragem colaborativa: não gera boas recomendações caso haja escassez de dados ou se os itens não tiverem apreciações de usuários diferentes. Porém, possui uma grande vantagem: a técnica resolve os principais problemas da recomendação baseada em conteúdo: não cria uma bolha de sugestões e não necessita de informações sobre o perfil ou um modelo de usuário, visto que não utiliza a similaridade entre itens para indicar.

3 Tecnologia no apoio à adoção de animais

Segundo Gomes (2013)GOMES, Caroline Cavalcante Maia. Guarda responsável de animais de companhia: um estudo sobre a responsabilidade civil dos proprietários e a entrega de cães e gatos na Diretoria de Vigilância Ambiental do Distrito Federal. 2013. Disponível em: http://bdm.unb.br/handle/10483/5985. Acesso em: 22 maio 2022.
http://bdm.unb.br/handle/10483/5985...
, animais abandonados estão suscetíveis a riscos como maus tratos que, apesar de crime, não são punidos adequadamente. Além do sofrimento animal, o desamparo causa outros sérios problemas, como a proliferação de doenças transmissíveis para humanos, tais como a raiva e a leishmaniose. Animais em situação de abandono geram riscos à saúde pública, aumento dos gastos públicos, superlotação em Organizações Não Governamentais (ONG) e nos centros de zoonoses.

Para acolher esses bichos em vulnerabilidade, conforme citado por Matos (2012)MATOS, Liziane Gonçalves de. Quando a ajuda é animalitária : um estudo antropológico sobre sensibilidades e moralidades envolvidas no cuidado e proteção de animais abandonados a partir de Porto Alegre-RS. 2012. Disponível em: http://hdl.handle.net/10183/56016. Acesso em: 22 maio 2022.
http://hdl.handle.net/10183/56016...
, surgem as ONGs que desempenham um papel essencial na luta pela causa animal e, juntamente com protetores independentes, atuam resgatando, tratando e servindo de lar transitório. Porém, a quantidade de abandono é grande, e, assim, muitas instituições abrigam mais animais do que a infraestrutura permite. Por isso, devido à superlotação, muitos defensores acabam transformando a própria casa em abrigo temporário, o que pode não garantir uma boa assistência ao animal.

Muitos dos recolhidos pelos centros de zoonoses brasileiros não são resgatados e adotados pela população. Dessa forma, acabam sendo submetidos à eutanásia, em virtude dos custos gerados ao cofres públicos pela manutenção em canis ( Alejo et al., 2008 ALEJO, García-Rodríguez; VÍCTOR, Peracho; R., Villalbí Joan; SUSANA, Bouis; JULIA, Duràn; JOAN, Guix. Avances en la gestión de un centro de acogida de animales de compañía. Scielo, p. 76–78, 2008. DOI: 10.1157/13115116.
https://doi.org/10.1157/13115116...
) e pela falta de recursos para tratar as doenças e infecções que a maioria apresenta. Contudo, até mesmo a eutanásia exige despesas, conforme descrito na Resolução nº 174 do Conselho Federal de Medicina Veterinária (CFMV), com a compra de medicamentos, seringas e agulhas; além da contratação de médico-veterinário e da construção de um ambiente adequado para a realização do procedimento.

Por isso, a utilização da tecnologia intenciona favorecer e apoiar o acesso dos interessados em ter um animal de estimação à adoção, desencorajando a compra. Entende-se que retirar um bicho da situação de abandono é um benefício não somente para o animal, mas para as ONGs que, geralmente, encontram-se lotadas — visto que a entrada de animais é, muitas vezes, maior que a saída —, para o ser humano, submetido às doenças transmitidas por animais de rua, e aos cofres públicos, que precisam realizar a eutanásia como forma mais rápida de “solucionar” o problema.

3.1 Tecnologias no apoio à adoção

Tecnologias, a nível de software e/ou hardware, já são utilizadas na identificação e controle para ajudar ONGs no resgate e na adoção de animais em situação de abandono, reduzindo o número de bichos tutelados por essas instituições. Algumas dessas tecnologias são empregadas para fins de controle, como os microchips implantados em bois para manejo de rebanho.

Um trabalho realizado por Tozzi, Anderle e Nogueira (2018)TOZZI, Tatiana; ANDERLE, Daniel Fernando; NOGUEIRA, Rodrigo Ramos. Levantamento de Tecnologias para ONGs de Proteção Animal para apoio ao resgate de animais domésticos acoplados ao ciclo de vida de um sistema Web. In: ANAIS Estendidos do XXIV Simpósio Brasileiro de Sistemas Multimídia e Web. [S. l.]: SBC, 2018. p. 81–84. DOI: 10.5753/webmedia.2018.4574. Disponível em: https://sol.sbc.org.br/index.php/webmedia_estendido/article/view/4063.
https://sol.sbc.org.br/index.php/webmedi...
buscou pesquisas que objetivavam diminuir o abandono e melhorar a divulgação de animais para adoção na região da Associação dos Municípios da Região da Foz do Rio Itajaí (AMFRI). Dentre as fases do estudo, encontra-se uma etapa em que foi feita uma pesquisa de campo e o desenvolvimento de um sistema web. A investigação realizada levantou algumas tecnologias para apoiar o resgate de animais domésticos em situação de rua. Ainda segundo os autores Tozzi, Anderle e Nogueira (2018)TOZZI, Tatiana; ANDERLE, Daniel Fernando; NOGUEIRA, Rodrigo Ramos. Levantamento de Tecnologias para ONGs de Proteção Animal para apoio ao resgate de animais domésticos acoplados ao ciclo de vida de um sistema Web. In: ANAIS Estendidos do XXIV Simpósio Brasileiro de Sistemas Multimídia e Web. [S. l.]: SBC, 2018. p. 81–84. DOI: 10.5753/webmedia.2018.4574. Disponível em: https://sol.sbc.org.br/index.php/webmedia_estendido/article/view/4063.
https://sol.sbc.org.br/index.php/webmedi...
, algumas inovações já são comumente utilizadas no suporte e na solução de problemas de reconhecimento e proteção do animal, evitando a perda deste. É o caso do microchip Radio Frequency Identification (RFID), da Figura 3, que consiste em um método de identificação através de sinais de rádio, cujos chips armazenam informações que podem ser lidas por leitores de etiquetas eletrônicas. O RFID é muito utilizado em controle de estoque, rastreamento de pacientes em hospitais e na contenção do rebanho, na agricultura.

Figura 3.
Etiqueta RFID utilizada no Unleashed Indoor Dog Park.

Outra tecnologia é a coleira com Quick Response Code - QR Code Figura 4, inserido no mercado pela FurCode. Consiste numa coleira com medalha de identificação com QR Code, que possibilita acessar a página do animal. Por meio desta, a pessoa que encontrar o animal utilizando a coleira pode ter acesso às informações de contato do adotante, telefone do médico veterinário, fotos e informações médicas. Além do QR Code, a medalha pode conter o link da página do animal, para caso o indivíduo que o encontre não tenha acesso a um dispositivo que lê esse tipo de código.

A utilização de microchips em animais também tem favorecido a adoção responsável. Consoante notícia publicada pelo Falconery (2019)FALCONERY, Lucas. Cães e gatos adotados em Fortaleza recebem microchips para evitar abandono. [S. l.]: G1-CE, 2019. Disponível em: https://g1.globo.com/ce/ceara/noticia/2019/07/29/caes-e-gatos-adotadosem-fortaleza-recebem-microchips-/para-evitar-abandono.ghtml.
https://g1.globo.com/ce/ceara/noticia/20...
, em Fortaleza, a Coordenadoria Especial de Proteção e Bem-Estar Animal (Coepa), da Prefeitura de Fortaleza, está implantando microchips em cães e gatos que foram adotados em eventos de adoção realizados na cidade. Até julho de 2019, 1.977 animais receberam o dispositivo e entraram para o banco de dados do órgão. O objetivo da iniciativa é acompanhar os animais adotados para evitar possíveis abandonos.

Figura 4.
Coleira com QR Code da FurCode.

3.2 Sistemas e iniciativas de apoio à adoção de pets

Os aplicativos de busca também são utilizados para cadastrar animais que tenham fugido de casa ou se perderam de seus adotantes. Através deste cadastro, os adotantes inserem fotos e informações do animal desaparecido e os dados de contato. Há o exemplo do app Petfinder Adoptable Pets, visto na Figura 5 e disponível para Android e iOS, que se constitui num app de busca de perdidos e abandonados. A interface conta um mapa mostrando os animais disponíveis mais próximos do adotante.

Figura 5.
Tela de busca do app Petfinder Adoptable Pets

Outra alternativa são os aplicativos de identificação de animal que a promovem por meio de recognição facial, utilizando a tecnologia de comparação de imagens (visão computacional e inteligência artificial), como é o caso do app Crowdpet 1 1 App desenvolvido pela SciPet, uma das empresas-filhas da Universidade Estadual de Campinas (Unicamp). , apresentado na Figura 7. Segundo notícia publicada pela FAPESP (2017)FAPESP. Aplicativo utiliza visão computacional para identificar animais perdidos. [S. l.]: FAPESP, 2017. Disponível em: http://pesquisaparainovacao.fapesp.br/aplicativo_utiliza_visao_computacional_para_identificar_animais_perdidos/463.
http://pesquisaparainovacao.fapesp.br/ap...
, o aplicativo cruza duas fontes de dados: as fotos dos animais perdidos cadastradas por seus adotantes e as fotos de animais avistados nas ruas por voluntários. Usa, assim, reconhecimento facial para buscar combinações entre as características de cães e gatos achados e perdidos.

Uma aplicação que também usa identificação facial foi desenvolvida pela startup chinesa Megvii, Figura 6, que fornece soluções para recognição da face ao programa de vigilância do governo da China. Conforme publicação de Pederneiras (2022)PEDERNEIRAS, Gabriela. App chinês usa reconhecimento facial para identificar animais perdidos. [S. l.]: Tecmundo, 2022. Disponível em: https://www.tecmundo.com.br/software/143909-app-chines-usareconhecimento-facial-identificar/-animais-perdidos.htm.
https://www.tecmundo.com.br/software/143...
, o app identifica rostos de animais de estimação através de impressões lidas no nariz de cães, espécies de impressões digitais, para gerar um banco de dados que ajuda a localizar animais perdidos.

Figura 6.
Telas do app chinês de reconhecimento facial.

Figura 7.
App Crowdpet cruza características de fotos publicadas de animais achados e perdidos.

Quando se pensa em adotar um pet, atualmente, basta pesquisar na Web alguma instituição governamental ou portal da prefeitura municipal que disponibiliza animais para adoção. Essas informações já se encontram facilmente disponíveis, trazendo, algumas vezes, a descrição das características físicas e comportamentais dos animais, assim como podem informar se o animal já é vermifugado, vacinado, castrado etc. Algumas instituições públicas e ONGs possuem seu próprio meio de disponibilizar dados sobre os animais a serem adotados, através de apps mobile ou web sites. Isso torna mais prático promover a adoção naquela determinada região, sem que os indivíduos tenham que se deslocar para conhecer os animais e suas características relevantes.

Nos Estados Unidos a American Society for the Prevention of Cruelty to Animals ( Protopopova; Gunter, 2017PROTOPOPOVA, A; GUNTER, LM. Adoption and relinquishment interventions at the animal shelter: a review. Animal Welfare, v. 26, n. 1, p. 35–48, 2017. DOI: 10.7120/09627286.26.1.035.
https://doi.org/10.7120/09627286.26.1.03...
), utiliza o Geographic Information System (GIS), ferramenta que analisa a localização geográfica e organiza camadas de informação em visualizações, usando mapas e cenas 3D. Com esse recurso, o GIS traz outras características sobre dados, como padrões, relacionamentos e situações, ajudando os adotantes a tomar decisões mais inteligentes. A Protopopova e Gunter (2017)PROTOPOPOVA, A; GUNTER, LM. Adoption and relinquishment interventions at the animal shelter: a review. Animal Welfare, v. 26, n. 1, p. 35–48, 2017. DOI: 10.7120/09627286.26.1.035.
https://doi.org/10.7120/09627286.26.1.03...
realizou sua pesquisa com apoio de várias comunidades espalhadas no país que utilizavam o GIS. Segundo Nahra (2015)NAHRA, Alessandra. Tecnologia e adoção de animais. 2015. Disponível em: http://www.saiba-mais.com/2015/07/23/tecnologia-e-adocao-de-animais/.
http://www.saiba-mais.com/2015/07/23/tec...
, a partir desses dados, eles conseguem desenvolver estratégias para diminuir o abandono — Owner Surrender — e reduzir a entrada nos abrigos. Owner Surrender é quando o adotante leva o bicho a um abrigo e diz que não quer ou não pode mais ficar com o animal, mediante pagamento de uma taxa.

A associação também possui um programa de adoção baseado em pesquisa, chamado Meet Your Match Figura 8, que une adotantes a animais cujos perfis sejam compatíveis, semelhante ao que o projeto deste trabalho propõe, por meio de um app. O ASPCA realizou uma pesquisa de cinco anos analisando como o programa Meet Your Match Feline-ality afetou adoções, taxas de retorno, tempo de permanência e índices de eutanásia de gatos. O software também é aplicado para cães, através do Meet Your Match Canine-ality.

A pesquisa revelou que a conversa e os dados coletados pelos conselheiros de adoção deram aos possíveis adotantes elementos necessários para modificar suas expectativas e aumentar a probabilidade de uma correspondência bem-sucedida.

Quase todos os adotantes pesquisados disseram que provavelmente escolheriam um abrigo que usasse o método Meet Your Match Adoption ao adotar um animal no futuro ( Protopopova; Gunter, 2017PROTOPOPOVA, A; GUNTER, LM. Adoption and relinquishment interventions at the animal shelter: a review. Animal Welfare, v. 26, n. 1, p. 35–48, 2017. DOI: 10.7120/09627286.26.1.035.
https://doi.org/10.7120/09627286.26.1.03...
). Assim, após a conversa, o conselheiro classifica o provável adotante em uma das três cores: os verdes são mais bem-sucedidos com cães que gostam de estar física e mentalmente envolvidos; os laranjas são uma boa opção para cães que são receptivos e gostam de atividades e interações; e os roxos ficam confortáveis com cães que têm atitude e estilo de vida descontraídos. Essa catalogação também é adaptada para os felinos no Feline-ality.

Figura 8.
Página do Meet Your Match no site do ASPCA.

Consoante Protopopova e Gunter (2017)PROTOPOPOVA, A; GUNTER, LM. Adoption and relinquishment interventions at the animal shelter: a review. Animal Welfare, v. 26, n. 1, p. 35–48, 2017. DOI: 10.7120/09627286.26.1.035.
https://doi.org/10.7120/09627286.26.1.03...
, os abrigos que o Meet Your Match encontraram melhorias significativas no número de adoções e retornos. Na Kansas Humane Society, o retorno caiu em 50%, dentro de um mês. No Bay Area Humane Society e Animal Shelter ( Green Bay, WI), houve queda entre 1 e 2%. No Marquette Humane Society ( Negaunee, MI), o número de adoções cresceu 37,5%.

A pesquisa Meet Your Match Adoption, desenvolvida pelo ASPCA, portanto, possui características semelhantes às de um SR’s. Associando a pesquisa ao SR, os adotantes seriam os adotantes e os conselheiros representam o SR, que analisa as características do provável adotante e o enquadra em um perfil (verde, laranja ou roxo). O que já tem fundamento em pesquisas e também funciona na prática, teria uma versão virtual, inicialmente como aplicativo mobile. Assim, seria uma oportunidade de ter um programa em atividade nos EUA, aplicado de maneira virtual aqui no Brasil.

4 Trabalhos relacionados

Apesar de existirem inúmeras iniciativas apoiadas por tecnologia para adoção de animais, ainda é tímida ou relativamente pouco divulgada as incursões científicas nessa direção. Em Souza et al. (2022)SOUZA, Francisco; COSTA, Elio; MATINELLI, Alexandre; COSTA, Lincoln; SOUZA, Alinne. FugaPet-Rotas: Um algoritmo inteligente para recomendação de rotas visando buscar animais desaparecidos. In: ANAIS da VI Escola Regional de Engenharia de Software. Blumenau: SBC, 2022. p. 199–208. DOI: 10.5753/eres.2022.227993. Disponível em: https://sol.sbc.org.br/index.php/eres/article/view/22387.
https://sol.sbc.org.br/index.php/eres/ar...
, os autores apresentam um algoritmo inteligente para recomendar caminhos que auxiliem adotantes na procura do seu pet desaparecido. Para viabilizar o algoritmo, foi desenvolvido um webapp a fim de coletar dados de adotantes voluntários sobre a localização em que um pet foi encontrado. Os resultados alcançados indicam que é possível recomendar rotas que minimizem o esforço para procurar um animal desaparecido. De modo bastante similar à nossa proposta, Siqueira Santos et al. (2021)SIQUEIRA SANTOS, Matheus Gallo de; SILVA GARCIA, Alisson Andrey da; MATA REIS, André da; JUNIOR, Mauricio Moreira. PET WORLD: Algoritmos de recomendações aplicados no mundo animal. RE3C-Revista Eletrônica Científica de Ciência da Computação, v. 16, n. 1, 2021. desenvolveram um aplicativo para dispositivos móveis que visa auxiliar a população geral a realizar buscas de animais de estimação que estejam para doação, utilizando algoritmos de recomendação para a exibição de animais de acordo com o perfil do adotante. Cheng et al. (2022)CHENG, Wai Khuen; LEONG, Wai Chun; TAN, Joi San; HONG, Zeng-Wei; CHEN, Yen-Lin. Affective Recommender System for Pet Social Network. Sensors, v. 22, n. 18, 2022. ISSN 1424-8220. DOI: 10.3390/s22186759. Disponível em: https://www.mdpi.com/1424-8220/22/18/6759.
https://www.mdpi.com/1424-8220/22/18/675...
propõem (1) um aplicativo para prever o comportamento de cães e (2) uma plataforma de comunicação usando smartphones para se conectar com cães de diferentes famílias. Para prever os comportamentos dos cães, são realizados os métodos de reconhecimento de emoções caninas e reconhecimento de latidos caninos. O modelo proposto ResNet e o modelo sequencial são implementados para reconhecer emoções e latidos de cães. A média ponderada é proposta para combinar o valor de previsão da emoção do cão e do latido do cão para melhorar a saída da previsão. Posteriormente, a saída da previsão é encaminhada para um módulo de recomendação para responder às condições dos cães.

Em Song e Kim (2021)SONG, Hee Seok; KIM, Young Ae. A dog food recommendation system based on nutrient suitability. Expert Systems, v. 38, n. 2, e12623, 2021. DOI: https://doi.org/10.1111/exsy.12623.
https://doi.org/https://doi.org/10.1111/...
, os autores desenvolveram um algoritmo que tenta recomendar rações apropriadas ou inapropriadas para cães usando inteligência coletiva baseada na experiência do adotante e no conhecimento prévio de especialistas. Com base no estado físico e de saúde dos cães, esse estudo extrai quais nutrientes são necessários para os cães e recomenda a ração mais adequada contendo esses nutrientes. Apesar de não ser um SR para pets, o algoritmo pode ser adaptado para adoção. Em Chyan (2020)CHYAN, Phie. Design of Purebred Dog Recommendation System Using MCDM Approach. Advances in Science, Technology and Engineering Systems Journal, v. 5, n. 5, p. 148–153, 2020. DOI: 10.25046/aj050520.
https://doi.org/10.25046/aj050520...
, os autores projetaram um sistema de apoio à decisão por meio de um modelo analítico que usa uma variedade de dados sobre as características de cães de raça pura obtidos de diferentes fontes. Os dados de fontes oficiais são obtidos de organizações internacionais de cães de raça pura que estabelecem os padrões para cada tipo de raça, enquanto os dados de fontes não oficiais são obtidos da comunidade de amantes de cães, especialistas e proprietários de canis. O resultado do estudo fornece recomendações apropriadas para possíveis adotantes na seleção de uma raça que atenda às suas preferências e necessidades.

Jeyaraj e Aponso (2020)JEYARAJ, Pradeepa; APONSO, Achala. A Review of Techniques for Image Classification to Enhance Online Animal Adoption Speed. In: PROCEEDINGS of the 2020 12th International Conference on Computer and Automation Engineering. Sydney, NSW, Australia: Association for Computing Machinery, 2020. (ICCAE 2020), p. 114–118. ISBN 9781450376785. DOI: 10.1145/3384613.3384656. Disponível em: https://doi.org/10.1145/3384613.3384656.
https://doi.org/10.1145/3384613.3384656...
apresentam a análise de características fotográficas que afetam a velocidade de adoção e abordagens automatizadas computadorizadas de classificação de imagens. As abordagens de classificação serão revisadas e usadas na concepção de uma aplicação da pesquisa em andamento para prever a velocidade de adoção da imagem de um animal de entrada.

Similarmente à nossa proposta, em Kajbaje, Sawant e Patil (2022)KAJBAJE, Sumit; SAWANT, Rohit; PATIL, Ronit Loke3 Vishwajeet. AI-Based Pet Adoption System. International Research Journal of Engineering e Technology (IRJET), 2022. ISSN 2395-0056. Disponível em: https://www.irjet.net/archives/V9/i4/IRJET-V9I4298.pdf.
https://www.irjet.net/archives/V9/i4/IRJ...
, a tecnologia proposta pelos autores permite aos usuários identificar possíveis adotantes para seus cães, tornando o processo de adoção mais eficiente. Métodos de aprendizado e recomendação auxiliam o adotante apresentando todas as informações necessárias para fazer uma escolha informada. Através de um aplicativo, adotantes também podem fazer um agendamento com os doadores para iniciar o processo de adoção.

5 Um sistema de recomendação baseado em conteúdo para adoção de cães utilizando a técnica do cosseno ponderado

Nesta seção será abordada a solução proposta, denominada RecAdoption, que consiste em indicar cães utilizando a técnica do cosseno ponderado trazendo os dados de gostos distintos do adotante considerando as características do pet. Também será apresentado o funcionamento do sistema, além das tecnologias utilizadas na sua construção. Por fim, será demonstrado o funcionamento de um protótipo de app mobile para recomendação de cães disponíveis para adoção. O fluxo da arquitetura que será explicitado nessa seção é visualizado na Figura 9.

Figura 9.
Arquitetura da aplicação.

Nesta seção será apresentada a arquitetura do aplicativo, evidenciando tecnologias e características.

5.1 Tratamento de dados

O tratamento de dados consistiu em combinar as informações dos vetores de usuários e itens, de modo que fosse possível comparar as características, apesar das estruturas diferenciadas. Dessa forma, foram criados, em cada um dos animais, campos que correspondessem ao que foi preenchido nas telas de cadastros. Para o adotante, por exemplo, uma das perguntas consiste em “Gosta de cão brincalhão". Dentre as respostas possíveis temos”brincalhão" e “não brincalhão". Hipoteticamente, a opção escolhida foi”brincalhão". Já no caso do animal, a questão correspondente é "Gosta de brincadeiras" Figura 10, e a resposta pode ser "sim" ou "não"; se for "não", tratamos o vetor para armazenar "não brincalhão", e, se for "sim", o tratamento garante que seja armazenado "brincalhão". Essa etapa foi crucial para que fosse possível realizar o cálculo do cosseno.

Figura 10.
Tela principal do SR com um cão e suas características.

5.1.1 Cálculo do Cosseno

\[ \begin{equation}cos(A,\ B) =\frac{\sum_{i=1}^{n} P_{i} A_{i} B_{i}}{\sqrt{\sum_{i=1}^{n} P_{i}A_{i}^{2}}\sqrt{\sum_{i=1}^{n} P_{i}B_{i}^{2}}}\qquad{(1)}\end{equation} \]

A Similaridade do Cosseno é uma técnica bastante aplicada em sistemas, principalmente em mineração de textos, conforme Saleem et al. (2014)SALEEM, Asma; ASIF, Khadim Hussain; ALI, Ahmad; AWAN, Shahid Mahmood; ALGHAMDI, Mohammed A. Pre-Processing Methods of Data Mining. In: PROCEEDINGS of the 2014 IEEE/ACM 7th International Conference on Utility and Cloud Computing. USA: IEEE Computer Society, 2014. (UCC ’14), p. 451–456. ISBN 9781479978816. DOI: 10.1109/UCC.2014.57. Disponível em: https://doi.org/10.1109/UCC.2014.57.
https://doi.org/10.1109/UCC.2014.57...
. A técnica utiliza o ângulo entre dois vetores, instâncias A e B, do usuário e do item, respectivamente, representadas em vetores com o valor de cada atributo, como medida de correspondência. A similaridade é máxima quando os vetores apontam na mesma direção (ângulo = 0º) e mínima quando são perpendiculares (ângulo = 90º). Desse modo, ela varia em um intervalo de [0,1] e mede o quanto duas instâncias são parecidas. Por isso, quanto mais próximo de 1, o valor da similaridade, mais parecidas serão as instâncias comparadas ( Al-bashiri et al., 2017AL-BASHIRI, Hael; ABDULGABBER, Mansoor Abdullateef; ROMLI, Awanis; HUJAINAH, Fadhl. Collaborative Filtering Similarity Measures: Revisiting. In: PROCEEDINGS of the International Conference on Advances in Image Processing. Bangkok, Thailand: Association for Computing Machinery, 2017. (ICAIP 2017), p. 195–200. ISBN 9781450352956. DOI: 10.1145/3133264.3133299. Disponível em: https://doi.org/10.1145/3133264.3133299.
https://doi.org/10.1145/3133264.3133299...
).

Este estudo se baseou na Técnica da Similaridade do Cosseno 2 2 O cosseno tradicional não considera os pesos, enquanto que, a técnica randômica é definida como uma recomendação aleatória de dados sem considerar similaridade entre as preferências do usuário e os animais selecionados para recomendação. , contudo pode-se notar a adaptação da Equação (1). Conclui-se, assim, que essa técnica é representada pelo produto interno entre os vetores A e B sobre o tamanho (norma) de cada vetor, multiplicado pela variante P, que representa o grau de importância de cada característica selecionada pelo usuário na tela de relevância, conforme a Figura 13. A premissa da Similaridade do Cosseno permanece inalterada, pois considera-se que a similaridade resultante varia de -1, significando que o usuário e o item são opostos, à 1, significando que eles são idênticos, enquanto o valor 0 representa a inexistência de relação entre eles. Os valores intermediários, se forem próximos de 1, indicam correspondência, enquanto próximos a 0 indicam dissimilaridade. No entanto, na recuperação de informação, o resultado da similaridade do cosseno não pode ser negativo, visto que o ângulo entre dois vetores não pode ser maior que 90° ( Dias de Almeida; Durao, 2020DIAS DE ALMEIDA, Joao Paulo; DURAO, Frederico Araujo. Personalizing the Top-k Spatial Keyword Preference Query with textual classifiers. Expert Systems with Applications, v. 162, p. 113841, 2020. ISSN 0957-4174. DOI: https://doi.org/10.1016/j.eswa.2020.113841. Disponível em: https://www.sciencedirect.com/science/article/pii/S0957417420306503.
https://www.sciencedirect.com/science/ar...
).

5.1.2 Acesso ao Banco de Dados

Figura 11.
Tabela avaliados no Banco de Dados.

O Acesso ao Banco de Dados é o responsável pelo armazenamento das informações referentes à aplicação, o gerenciamento dos dados de forma segura, portanto, garante a fluidez na realização dos processos. A criação das tabelas são realizadas a partir de comandos de inserção do próprio aplicativo, não sendo utilizada uma linguagem para as criações das tabelas e seus respectivos campos, visto que as informações são salvas como arquivos JSON, conforme o exemplo da Figura 11. Logo, a cada requisição feita ao Banco de Dados, as informações são criptografadas e enviadas juntas a um token de acesso. Por conseguinte, assim são realizadas as funcionalidades da aplicação, como cadastrar as características e seu grau de importância para cada adotante, verificar as indicações, visualizar a lista de animais, enviar sugestões, avaliar as recomendações, entre outras.

5.2 Modelo de usuário

Neste trabalho, o modelo de usuário foi construído através de alguns questionários elaborados por outras aplicações Web e mobile, que “sugerem” raças de cães correspondentes ao perfil elaborado de acordo com as respostas do adotante. Um desses questionários é o Dog Breed Selector Quiz Figura 12, o qual contém uma relação de 14 perguntas com 0respostas gráficas de escolha única. Outro questionário é apresentado no app mobile Dog Breed Chooser e tem o mesmo objetivo do anterior.

Figura 12.
Dog Breed Selector Quiz.

Esses questionários incluem perguntas com a intenção de coletar informações sobre a vida do adotante, a fim de definir seu estilo de vida — se mora em casa ou apartamento, se possui jardim ou área de lazer, se tem filhos pequenos ou já crescidos, se já teve ou tem algum outro animal de estimação, se pretende ter um cão companheiro ou um cão de guarda. Ao definir esse perfil, no final, são recomendadas raças de cães que se encaixam naquela descrição. Ressalta-se que algumas informações utilizadas para o cálculo da similaridade foram influenciadas pelos questionários citados anteriormente. O objetivo é sempre garantir uma melhor indicação.

Na Figura 14, é demonstrada a tela de cadastro da pessoa que constrói o seu perfil. Assim, o modelo de usuário é composto pelos seguintes atributos:

  • moradia: tipo de moradia do adotante (casa ou apartamento);

  • porte: preferência por um determinado porte (pequeno, médio ou grande);

  • pelagem: predileção por cães de pelos longos ou curtos;

  • sexo: preferência pelo sexo do cão (macho ou fêmea);

  • queda-pelo: se a queda de pelos pode incomodar ou o adotante é muito alérgico;

  • amigável-crianca: predileção por cães que gostam de crianças;

  • brincadeira: preferência por cães brincalhões;

  • exercício: predileção por cães muito ativos;

  • guarda: preferência por cães de guarda;

  • tende-latir: se latidos frequentes incomodam ou não são permitidos no local onde o adotante mora.

Figura 13.
Tela de relevância das características do usuário do SR.

Na Figura 13, nota-se a tela de relevância das características, informadas na tela de cadastro do usuário, podendo variar de 0 a 10. Dessa maneira, teremos também no modelo de usuário os aspectos subsequentes:

  • relevância-moradia: grau de relevância do tipo de moradia do adotante (casa ou apartamento);

  • relevância-porte: grau de relevância da preferência por um determinado porte (pequeno, médio ou grande);

  • relevância-pelagem: grau de relevância da predileção por cães de pelos longos ou curtos;

  • relevância-sexo: grau de relevância da preferência pelo sexo do cão (macho ou fêmea);

  • relevância-queda-pelo: grau de relevância quanto ao incômodo da queda de pelos ou se o adotante é muito alérgico;

  • relevância-amigável-crianca: grau de relevância da predileção por cães que gostam de crianças;

  • relevância-brincadeira: grau de relevância da preferência por cães brincalhões;

  • relevância-exercicio: grau de relevância da predileção por cães muito ativos;

  • relevância-guarda: grau de relevância da preferência por cães de guarda;

  • relevância-tende-latir: grau de relevância quanto ao incômodo por latidos frequentes ou pela proibição destes no local onde o adotante mora.

Figura 14.
Tela de cadastro do usuário do SR.

5.3 Modelo do Item

Os itens de recomendação do SR deste trabalho são cães. As características dos itens foram elaboradas baseadas nos questionários citados na seção anterior e na lista internacional de raças BKC ou Breeders Kennel Club, que descrevem as principais características dos cães.

O modelo dos itens de usuário contém os mesmo atributos ( tags) que o modelo de usuário, porém com informações sobre as particularidades do cão — moradia ideal, o porte, a pelagem. Uma representação do padrão de itens é demonstrada na Figura 10, a tela principal do aplicativo proposto neste trabalho.

5.4 Recomendação

A Recomendação é responsável por exibir ao usuário um conjunto de itens fundamentado no grau das ponderações de sua preferência, a partir de cada propriedade junto aos outros dados preenchidos na tela de cadastro. Assim, o comportamento deste algoritmo é evidenciado no pseudocódigo, demonstrado e explicado a seguir:

Algorithm 1 Pseudocódigo para Recomendação
Require: dadoUser, dadosAnimal, β
Ensure: resultado
1: usuariotratarUsuario(dadoUser)
2: itenstratarItens(dadosAnimal)
3: resultado
4: while itens<β
5: resultadoresultadocalcularCosseno(usuario,itens)
6: end while
7: resultadoordenarSimilaridade(resultado)

  • Require: são os parâmetros de entrada dadosUser representando o vetor de usuário; dadosAnimal corresponde a um veículo de vetores de animais; e o \( \begin{equation}\beta\end{equation} \) é a quantidade de animais do vetor.

  • Ensure: é esperado o retorno da variável resultado, ordenada por similaridade.

  • linha 1: a variável usuário é preenchida com o retorno da função \( \begin{equation}tratarUsuario(usuario)\end{equation} \), que recebe como padrão o próprio usuário e devolve em um vetor de vetores de características e suas relevâncias correspondentes.

  • linha 2: a variável itens é preenchida com o retorno da função \( \begin{equation}tratarItens(itens)\end{equation} \), cujo critério recebido é o próprio item, e devolve um vetor de vetores de particularidades dos animais sem as respostas referentes a "sim" e "não".

  • linha 3: a variável resultado é inicializada com valor Ø, representando o vazio.

  • linha 5: Enquanto o total de itens for menor que o tamanho total do vetor, a variável resultado realiza a aplicação da Equação (1) e inclui um novo campo no vetor referente à similaridade do cosseno ponderado retornado pela mesma.

  • linha 7: a variável resultado é preenchida com o retorno da função \( \begin{equation}ordenarSimilaridade(resultado)\end{equation} \), que recebe como parâmetro o próprio resultado e devolve um vetor resultado ordenado, do maior para o menor, pelo campo similaridade.

5.5 Tecnologias

A seguir são apresentadas as tecnologias utilizadas neste projeto. Uma dessas é o Front-end, parte capaz de ter interação direta com o usuário, contém comportamentos de elementos, visual, usabilidade, funcionalidades e acessibilidade. O aplicativo é desenvolvido utilizando o Ionic 3, um framework open source para desenvolvimento de aplicativos móveis híbridos. Tem como base o Apache Cordova, que injeta o código HTML/CSS/JavaScript em um componente do Android chamado WebView, o qual permite que as aplicações do Android exibam conteúdo da web diretamente dentro de um aplicativo ( Karam; Halstead-Nussloch, 2012KARAM, Orlando; HALSTEAD-NUSSLOCH, Richard. Introducton to Android Development. J. Comput. Sci. Coll., Consortium for Computing Sciences in Colleges, Evansville, IN, USA, v. 28, n. 2, p. 224, out. 2012. ISSN 1937-4771.). Assim, é possível desenvolver uma aplicação funcional tanto para Android como para iOS, utilizando o mesmo código fonte. A versão do Ionic utilizada neste trabalho é a 3, que emprega o Angular com Typescript, em vez de Javascript.

O Back-end é o responsável pela parte de tratamento de dados, cálculo do cosseno e recomendação e acesso ao banco de dados. A linguagem usada foi a TypeScript, um super conjunto de JavaScript (ES2015+), criado pela Microsoft. Segundo Maharry (2013)MAHARRY, Dan. Getting Up to Speed with TypeScript. In: [s. l.: s. n.], jan. 2013. p. 1–26. ISBN 978-1-4302-5725-7. DOI: 10.1007/978-1-4302-5726-4_1.
https://doi.org/10.1007/978-1-4302-5726-...
, ao contrário de outras linguagens que compilam para JavaScript, o TypeScript não tenta alterar o JavaScript para um novo código. Os recursos do TypeScript são alinhados de maneira mais próxima ao JavaScript. Por isso, os desenvolvedores que manipulam TypeScript podem aproveitar os recursos mais recentes da linguagem JavaScript; além de um sistema de tipagem forte para escrever códigos mais organizados, aproveitando as ferramentas avançadas que o uso de uma linguagem de tipo estática fornece. Em desenvolvimento de software, a Programação Orientada a Objeto (POO) sempre foi um problema quando se emprega o JavaScript. Sua sintaxe não permite escrever classes de forma tão clara, por exemplo, o que impede a aplicação dos demais conceitos da POO, como herança e polimorfismo, ademais da fraca tipagem de dados. No TypeScript, é possível contornar esses problemas adicionando funcionalidades que, quando compiladas, resultarão em código JavaScript novamente. Outra tecnologia utilizada é o Firebase, um BaaS (Backend as a Service) para aplicações Web e Mobile do Google. BaaS é um serviço disponibilizado capaz de auxiliar toda a estrutura do back-end por meio de serviços como configuração de servidor, integração com banco de dados, sistema de push notification, dentre outros. Alguns desses serviços oferecidos pelo Firebase foram utilizados neste trabalho; é o caso do Banco de Dados em Tempo Real, que permite o armazenamento e sincronismo das informações entre usuários e dispositivos, bem como utiliza um banco de dados, NoSQL, hospedado na nuvem ( Orlandi, 2019ORLANDI, Claudio. Firebase: serviços, vantagens, quando utilizar e integrações. [S. l.: s. n.], 2019. Último acesso em 22 de maio de 2022. Disponível em: https://blog.rocketseat.com.br/firebase/.
https://blog.rocketseat.com.br/firebase/...
). Vale ressaltar que o método de autenticação é realizado através de e-mail/senha, a partir da autorização de login/ logout no aplicativo. A integração entre o front-end ( Angular) e o back-end ( Firebase), neste trabalho, é feita pela biblioteca AngularFire2, através de requisições REST.

6 Avaliação experimental

Nesta seção será apresentado todo o processo de avaliação utilizado para verificar se os objetivos pretendidos foram alcançados. Espera-se que o sistema recomende cães cujas características sejam mais próximas possíveis do perfil do adotante. Também serão apresentados os detalhes da metodologia aplicada para desenvolver e avaliar o sistema proposto neste trabalho, assim como os dados utilizados no experimento. Logo após, serão expostos os resultados obtidos e as métricas utilizadas na avaliação.

6.1 Metodologia

A Metodologia consistiu na análise do Banco de Dados pré-existente, utilizado do aplicativo RecAdoption, cujas informações, como a avaliação de cada item por usuário, são relevantes para esta pesquisa. Os dados utilizados nos experimentos, portanto, foram obtidos de forma offline e analisados em quatro fases, conforme a Figura 15: Seleção de Usuários, Seleção de Animais, Aplicação do Grau de Relevância de Cada Característica e a Aplicação da Técnica do Cosseno Ponderado.

Figura 15.
Fases da Metodologia.

Os dados offlines consistem em uma gama de informações obtidas pela avaliação dos usuários sobre as recomendações dos itens indicados pela Similaridade do Cosseno e pelo Algoritmo Randômico. Conseguiu-se por meio do feedback de cada item, feito pelo usuário, através da escala de recomendação de 5 pontos (1 a 5 estrelas), apresentada na Figura 16. Habitualmente utilizada em sistemas de recomendação como uma maneira de classificar as avaliações do usuário ( Aggarwal, 2016AGGARWAL, Charu C. An Introduction to Recommender Systems. In: RECOMMENDER Systems: The Textbook. Cham: Springer International Publishing, 2016. p. 1–28. ISBN 978-3-319-29659-3. DOI: 10.1007/978-3-319-29659-3_1.
https://doi.org/10.1007/978-3-319-29659-...
), a escala de 5 pontos foi utilizada para facilitar a tomada de decisão do adotante na avaliação do cão que lhe foi sugerido pelo sistema. Assim, o adotante que avaliou com a nota 1 o cão recomendado, expressa que aquele cão não tem nada em comum com suas preferências, diferente de uma nota 5, que evidencia total satisfação e compatibilidade com o seu perfil.

Figura 16.
Exemplo de escala de avaliação de 5 pontos.

6.1.1 Seleção de adotantes e animais

A seleção de usuários consistiu no levantamento de 16 adotantes, dos 32 existentes na base de dados, que responderam 20 avaliações de 20 animais diferentes, possuidores de, ao menos, três feedbacks com valores relevantes e estrelas com valores superiores a três, para que fosse possível traçar as características desses animais.

Considerou-se, dessa forma, esses adotantes para aplicação da Técnica do Cosseno Ponderado.

A Seleção de Animais foi elaborada a partir dos itens que já haviam sido avaliados por cada uma das 16 pessoas participantes dos experimentos, com uma gama de animais distintos de um conjunto de 20 animais por adotante. Todos foram ordenados por data de avaliação, visto que os dez primeiros dados são avaliados pela ordem de correspondência calculada, anteriormente, pela Similaridade do Cosseno, e os restantes foram sugeridos pelo Algoritmo Randômico, gerando duas listas diferentes por adotante para emprego da técnica.

6.1.2 Aplicação do grau de relevância de cada Característica

A Aplicação do Grau de Relevância de Cada Característica foi feita após comparar os itens com avaliação igual a 5, obtidos das listas de características de animais por adotante e das particularidades do adotante. Deste modo, conseguiu-se traçar quais propriedades foram realmente relevantes para o feedback de cada item considerado ideal.

Depois da análise, aplicou-se um valor igual a 10 para cada característica do adotante que aparecia em todos os animais, e um valor proporcional à quantidade de vezes que o item apareceu em cada um dos animais. No entanto, caso a ocorrência seja única, a relevância seria desconsiderada. Por exemplo: o adotante 1 teve cinco animais considerados ideais, e a única característica que apareceu em todas foi pelagem igual a longa, logo, o grau de relevância foi 10. Já a característica "guarda", referente ao item ser um cão de guarda, apareceu em três dos cinco animais, assim, seu grau de relevância foi 3/5 e, consequentemente, o valor foi 6. Dos que apareciam apenas uma vez, foi considerado grau de relevância 0. Ressalta-se que, para definição do grau de relevância, considera-se uma escala de 1 a 10. Na sequência, empregou-se no perfil de cada adotante a relevância das suas qualidades. No exemplo citado anteriormente, inseriram-se os itens na Tabela de cadastro do perfil do adotante, através de um script, os itens importantes, para que a próxima fase fosse passível de ser realizada: "relevancia_pelagem" com valor 6, "relevancia_guarda" com valor 10 e as demais relevâncias com valor 0 .

6.1.3 Aplicação da técnica do cosseno ponderado

A Aplicação da Técnica do Cosseno Ponderado consiste em aplicar o algoritmo que recebe o vetor adotante, contendo os valores de relevância para cada característica e as listas de animais por adotante, e empregar a Equação (1) para Cálculo do Cosseno. Retorna-se, dessa forma, a duas listas de recomendação de animais por adotante, ordenadas de acordo com o valor de similaridade. Em seguida, é possível analisar os itens avaliados na base de dados e verificar quais ficaram no topo das listas de recomendação de animais por adotante, aplicando a Técnica do Cosseno Ponderado. Compreende-se também que os itens contidos na parte superior são importantes para o adotante.

Considera-se, portanto, os seguintes experimentos a partir da explicação feita anteriormente, nesta seção:

  1. 1.

    Experimento 1: nesta etapa são utilizados dez itens (cães) recomendados através do algoritmo de Similaridade do Cosseno e aplica-se a Técnica do Cosseno Ponderado;

  2. 2.

    Experimento 2.a: nesta etapa são utilizados dez itens (cães) recomendados através do Algoritmo Randômico e emprega-se a Técnica do Cosseno Ponderado;

6.2 Conjunto de dados

Os experimentos realizados utilizaram dados offline oriundos de cinco tabelas. E as características do cachorro são persistidas em um banco de dados NoSQL do Firebase, conforme Figura 17. As três primeiras tabelas eram pré-existentes e tiveram seus dados usados, sendo a Adotante a única destas que sofreu atualizações durante este trabalho. As demais são novas e manipuladas para armazenar dados recentes do aplicativo.

  1. 1.

    Tabela adotante: nesta tabela teremos dados de cadastro dos adotantes com ênfase nas características e grau de importância destas, atualmente serão encontrados apenas dezesseis adotantes.

  2. 2.

    Tabela animais: na tabela animais, os dados refletem a realidade, a qual há mais cães de porte médio ou grande do que os de porte pequeno; o que representa, segundo o Portal do Dog ( Metrópoles, 2020METRÓPOLES. Sem raça definida. [S. l.]: Metrópoles - Portal do Dog, 2020. Último acesso em 22 de maio de 2022. Disponível em: https://www.portaldodog.com.br/cachorros/racas-cachorros/sem-raca-definida-srd/.
    https://www.portaldodog.com.br/cachorros...
    ), qualidades típicas de cães sem raça definida (vira-latas), comuns entre os cachorros disponibilizados para adoção.

  3. 3.

    Tabela avaliados: nesta tabela, existe, para cada um dos dezesseis adotantes, vinte animais salvos pelo código de identificação, data de inclusão da avaliação e o valor da avaliação executada.

  4. 4.

    Tabela avaliados Similaridade: esta tabela possui vinte animais salvos pelo código de identificação, data de inclusão da avaliação, valor da similaridade do item e valor da avaliação executada, para cada adotante (16).

  5. 5.

    Tabela métricas: nesta tabela foram salvos os resultados das métricas, formados pela descrição do experimento, valor e tipo de métrica.

Figura 17.
Estrutura do Banco de Dados da Aplicação no Firebase.

6.3 Métricas

Um SR deve ser capaz de indicar itens adequados para determinado contexto. Neste estudo, utilizam-se duas métricas para mensurar a assertividade do método de recomendação aplicado, a saber: o MAP e o MRR, abordadas a seguir.

6.3.1 Mean Average Precision - MAP

Esta métrica foi empregada para avaliar a precisão do método de recomendação da lista de recomendações, retornada pelo algoritmo ao adotante. O valor do MAP é obtido calculando a média da precisão média da lista de recomendações de cada adotante.

\[ \begin{equation}MAP = \frac{1}{|U|}\sum_{u}^{U}AveP(u)\qquad{(2)}\end{equation} \]

\[ \begin{equation}AveP(u)=\frac{1}{N}\sum_{i=1}^{N}p@i\qquad{(3)}\end{equation} \]

\[ \begin{equation}p@i=\frac{r}{i}\qquad{(4)}\end{equation} \]

Na Equação 2, representante da equação do MAP, temos a média da precisão de todos os usuários, em que para cada usuário é calculada a média dos valores da precisão obtidos para a lista de recomendação gerada. Nas Equações 3 e 4 tem-se o cálculo da média citada, que é a soma da precisão em cada posição da lista pai, em que r representa a quantidade de cães relevantes até a posição i ( Silva, 2019SILVA, Diego Corrêa da. Ouvido musical: explorando metadados em um sistema de recomendação de músicas. [S. l.]: RI UFBA, 2019. Último acesso em 22 de maio de 2022. DOI: 10.13140/RG.2.2.26829.56800. Disponível em: http://repositorio.ufba.br/ri/handle/ri/29739.
http://repositorio.ufba.br/ri/handle/ri/...
).

6.3.2 Mean Reciprocal Rank - MRR

O cálculo do MRR, demonstrado na Equação (5), é uma média ponderada de posições relevantes, variando de zero a um, e cuja pontuação perfeita é igual a 1. Isso significa que o mecanismo de pesquisa colocaria a resposta certa no topo da lista de resultados todas as vezes ( Zangerle; Bauer, 2022ZANGERLE, Eva; BAUER, Christine. Evaluating Recommender Systems: Survey and Framework. ACM Comput. Surv., Association for Computing Machinery, New York, NY, USA, v. 55, n. 8, out. 2022. ISSN 0360-0300. DOI: 10.1145/3556536. Disponível em: https://doi.org/10.1145/3556536.
https://doi.org/10.1145/3556536...
).

\[ \begin{equation}MRR=\frac{1}{|U|}\sum_{u}^{U}\frac{1}{p_{i}}\qquad{(5)}\end{equation} \]

A Equação (5) tem como objetivo mensurar a relevância da primeira ocorrência de uma recomendação \( \begin{equation}p_{i}\end{equation} \) em dada lista de recomendações. Utilizando o Gráfico 19 como exemplo, verifica-se que para os 16 adotantes a primeira ocorrência de uma recomendação relevante geralmente ocorre na posição 3.

6.4 Resultados

Nesta seção, será detalhada a análise de resultados, considerando as posições 3 e 5 de cada lista de recomendação por 16 adotantes, respectivamente, para cada análise. As métricas de MAP e MRR foram aplicadas em todas as avaliações.

6.4.1 Experimento 1

O Experimento 1 consiste numa comparação entre as recomendações geradas pelo Algoritmo de Similaridade do Cosseno, Experimento 1.a, e as recomendações a partir da Técnica do Cosseno Ponderado, Experimento 1.b.

Figura 18.
MAP: Gráfico de comparação do Experimento 1.

Figura 19.
MRR: Gráfico de comparação do Experimento 1

Nota-se que no Gráfico 18 tem-se no eixo y valores referentes à similaridade dos itens e no eixo x a posição dos itens. Portanto, enquanto o MAP do Experimento 1.a, nas posições 3 e 5, possui valores de precisão 0,69 e 0,68, respectivamente, o Experimento 1.b, na posição 3, tem precisão de 0,81, e na posição 5 tem 0,76. Logo, o Experimento 1.b referente à aplicação da Técnica do Cosseno Ponderado, apresentou melhores valores.

Na métrica MRR, conforme o Gráfico 19, observou-se que os valores de ambos experimentos são satisfatórios, porém o Experimento 1.b apresenta valores de precisão melhores, com 0,91 nas posições 3 e 5, contrastando com 0,88 nas posições 3 e 5 do Experimento 1.a.

6.4.2 Experimento 2

O Experimento 2 consiste num confronto entre as recomendações geradas pelo Algoritmo Randômico, Experimento 2.a, e as recomendações da Técnica do Cosseno Ponderado, Experimento 2.b.

Figura 20.
MAP: Gráfico de comparação do Experimento 2.

Figura 21.
MRR: Gráfico de comparação do Experimento 2.

Nota-se que, no Gráfico 20, tem-se no eixo y valores referentes à similaridade dos itens, e no eixo x a posição dos itens. Por isso, ao passo que o MAP do Experimento 2.a, nas posições 3 e 5, possui valores de precisão 0,52 e 0,44, nesta ordem, o Experimento 2.b, na posição 3, tem precisão de 0,67 e, na posição 5, possui 0,61. Assim, o Experimento 2.a, relativo ao emprego da Técnica do Cosseno Ponderado, apresentou valores superiores.

Na métrica MRR, consoante o Gráfico 21, percebe-se que os valores são satisfatórios para o Experimento 2.b, demonstrando valores de precisão preferíveis nas 3ª e 5ª posições, 0,81. O experimento 2.a revelou valores iguais para as duas posições, 0.78. Dessa forma, na análise conjunta das amostras nas duas posições, o Experimento que aplicou a Técnica do Cosseno Ponderado foi levemente superior.

7 Conclusão

Este trabalho apresenta uma análise da Técnica do Cosseno Ponderado para recomendações de itens por usuário, que se mostrou superior aos outros dois algoritmos utilizados. Portanto, a Aplicação RecAdoption foi alterada para usar essa técnica em substituição à da Similaridade do Cosseno tradicional, sendo liberada uma nova versão. Foi apresentada a metodologia e a avaliação. Os métodos de avaliação e os resultados foram apresentados, revelando um resultado satisfatório para a proposta. Isso evidencia que é possível melhorar as recomendações de animais utilizando a Técnica do Cosseno Ponderado. O SR implementado, para fins desse estudo, teve como objetivo avaliar a recomendação usando a Técnica do Cosseno Ponderado. Confirmou-se, através da comparação entre os algoritmos de Similaridade do Cosseno Tradicional e do Randômico, sua maior eficiência, podendo ser disponibilizado para o uso por quaisquer instituições para adoção de pet.

Como trabalhos futuros, espera-se que o usuário possa inserir itens através da própria aplicação para facilitar a quantidade de animais disponíveis para adoção. Também deve ser possível retirar relatórios com as métricas do sistema, exibindo quantidade total de usuários, suas posições e os valores de sua precisão. Outras técnicas de recomendação também podem ser adotadas a fim de avaliar a recomendação baseada em localização geográfica, favorecendo doadores mais próximos de quem é adotante.

Referências

  • 1
    App desenvolvido pela SciPet, uma das empresas-filhas da Universidade Estadual de Campinas (Unicamp).
  • 2
    O cosseno tradicional não considera os pesos, enquanto que, a técnica randômica é definida como uma recomendação aleatória de dados sem considerar similaridade entre as preferências do usuário e os animais selecionados para recomendação.

Editado por

Editor de seção:
Leonardo Carneiro Araujo
Editor de layout:
Frederico Araújo Durão

Datas de Publicação

  • Publicação nesta coleção
    15 Jan 2024
  • Data do Fascículo
    2024

Histórico

  • Recebido
    24 Jan 2023
  • Aceito
    10 Abr 2023
  • Publicado
    02 Nov 2023
Universidade Federal de Minas Gerais - UFMG Av. Antônio Carlos, 6627 - Pampulha, Cep: 31270-901, Belo Horizonte - Minas Gerais / Brasil, Tel: +55 (31) 3409-6009 - Belo Horizonte - MG - Brazil
E-mail: revistatextolivre@letras.ufmg.br