O AppRecommender é um projeto de investigação e desenvolvimento focado em solucionar um dos problemas mais persistentes no mercado de aplicações móveis: ajudar os utilizadores a encontrar a aplicação certa sem ter de percorrer milhões de resultados irrelevantes. Desenvolvido pela Caixa Mágica Software em colaboração com ISCTE-IUL e cofinanciado por Portugal 2020 No âmbito do projeto número 39703, o AppRecommender combina um sistema de recomendação multicritério com um motor de busca semântica construído especificamente para lojas de aplicações móveis.
O projeto aborda um mercado onde a descoberta está falha. Lojas como Google Play e A App Store da Apple Contêm milhões de aplicações. Encontrar a correta não é um problema resolvido.
AppRecommender Challenge: Um Mercado Onde a Descoberta Falha
AppRecommender e a Escala do Problema
Em 2017, a Google Play Store tinha 2,8 milhões de aplicações. A App Store da Apple tinha 2,2 milhões. A Aptoide, a loja independente de Android onde a Caixa Mágica tem fortes raízes, tinha mais de um milhão. Combinadas, estas lojas representam um catálogo tão grande que a simples pesquisa por palavras-chave já não é adequada como mecanismo de descoberta.
Os números relativos aos downloads revelam um quadro semelhante. Só em 2016, registaram-se 149,3 mil milhões de downloads de aplicações a nível mundial, um valor que se prevê que duplique até 2020. Mas o volume não é sinónimo de sucesso. Muitos desses downloads corresponderam a tentativas repetidas por parte de utilizadores que procuravam uma aplicação adequada, depois de as anteriores não terem correspondido às suas necessidades. Em 77% dos casos, uma aplicação não volta a ser utilizada nas 72 horas seguintes à instalação. Os utilizadores descarregam, experimentam, abandonam e procuram novamente.
A oferta e a procura estão desalinhadas
O problema central reside numa incompatibilidade entre o que as lojas oferecem e o que os utilizadores realmente precisam a qualquer momento. As lojas de aplicações distribuem. Não recomendam, num sentido significativo. Os resultados de pesquisa são influenciados por contagens de downloads, classificações e posicionamento pago, em vez de uma compreensão genuína do que um utilizador específico procura.
Consequentemente, a descoberta depende em grande medida do boca a boca. Em 2017, 52% das descobertas de aplicações ocorreram através de recomendações de amigos, familiares ou colegas. Apenas 40% resultaram de pesquisas realizadas na loja. Um mercado no valor de milhares de milhões de dólares dependia de conversas entre pessoas, em vez de depender da tecnologia que cada utilizador tinha à sua disposição.
Para os programadores, as consequências foram gritantes. A Gartner previu que, até ao final de 2018, menos de 0,01% dos programadores de aplicações se considerariam comercialmente bem-sucedidos. A maioria das aplicações, independentemente da qualidade, nunca encontra o seu público.
Porque é que a pesquisa existente não resolve isso?
A pesquisa por palavras-chave padrão pressupõe que os utilizadores sabem o que procuram e conseguem articulá-lo com precisão. Nenhum destes cenários é consistentemente verdadeiro. Um utilizador que pretende uma aplicação para o ajudar a acompanhar as suas rotas de ciclismo pode pesquisar por “ciclismo”, “localizador de bicicleta”, “desporto GPS” ou qualquer uma das várias variações. Podem descrever o que querem fazer em vez do nome da aplicação. A correspondência de palavras-chave não lida bem com nada disto.
Na prática, o que os utilizadores precisam é de um sistema que compreenda a intenção, saiba algo sobre o contexto e histórico do utilizador, e corresponda essa compreensão ao perfil real das aplicações disponíveis. Este é um problema técnico fundamentalmente diferente da pesquisa por palavras-chave, e é o problema que o AppRecommender foi construído para resolver.

Criar o Sistema de Recomendação de Aplicações
Os dois componentes complementares do AppRecommender
O AppRecommender é construído em torno de dois sistemas que trabalham em conjunto: um motor de recomendação multicritério e um motor de pesquisa semântica. Cada um resolve uma parte diferente do problema de descoberta.
O motor de recomendação do AppRecommender apresenta aplicações proativamente. Não espera que o utilizador pesquise. Em vez disso, preenche pontos de contacto em páginas iniciais móveis, interfaces web e outras superfícies com aplicações que correspondem ao perfil, contexto e necessidades inferidas do utilizador. Aplicações relevantes aparecem antes de os utilizadores terem de as procurar.
O motor de busca semântica é responsável por lidar com os momentos em que os utilizadores procuram. Em vez de fazer corresponder palavras-chave a títulos e descrições de aplicações, tenta compreender o que o utilizador realmente quer e faz corresponder essa intenção aos perfis de aplicações na loja. Um utilizador que descreva um comportamento em vez de nomear uma categoria de aplicações deve, ainda assim, obter resultados relevantes.
Recomendação multicritério
O componente de recomendação usa múltiplos pontos de dados para avaliar a adequação entre um utilizador e uma aplicação. Perfil do utilizador, comportamento anterior, contexto atual, tipo de dispositivo, localização, hora do dia e as características das próprias aplicações alimentam o cálculo.
Esta abordagem produz recomendações específicas para o indivíduo em vez de genéricas para uma demografia. Dois utilizadores com perfis semelhantes, mas com padrões de utilização diferentes, receberão recomendações diferentes porque o sistema contabiliza ambas as dimensões. Crucialmente, as recomendações atualizam em tempo real à medida que o contexto muda. Uma aplicação relevante às 7h durante uma deslocação pode diferir de uma relevante às 20h em casa.
Pesquisa semântica para correspondência de intenções
O componente de pesquisa semântica aborda o problema do vocabulário na descoberta de aplicações. Os utilizadores não pesquisam na mesma língua que os programadores usam para descrever as suas aplicações. O motor de pesquisa do AppRecommender foi concebido para colmatar essa lacuna, mapeando a intenção do utilizador, expressa em linguagem natural, para os perfis estruturados das aplicações na loja.
Na prática, isto significa que um utilizador pode descrever o que pretende fazer e receber resultados que correspondem à sua intenção em vez das suas palavras exatas. O sistema analisa a consulta, deduz o que o utilizador está a tentar realizar e recupera aplicações cujos perfis se alinham com esse objetivo. Isto é consideravelmente mais útil do que devolver todas as aplicações com uma palavra-chave correspondente no seu título.
AppRecommender: Entrega em Tempo Real Através de Pontos de Contacto
Ambos os componentes foram projetados para operar em tempo real. As recomendações aparecem quando um utilizador abre a página inicial da loja. Os resultados da pesquisa retornam imediatamente após a consulta. Não há processamento em lote nem personalização atrasada. O sistema responde ao estado atual do utilizador, em vez de a um instantâneo do seu histórico de horas ou dias anteriores.
Esta capacidade em tempo real é importante porque o contexto muda rapidamente. As necessidades de um utilizador no momento em que abre uma loja de aplicações são específicas desse momento. Um motor de recomendações que não consegue ter em conta o contexto atual está a trabalhar com informações desatualizadas.
Investigação que sustenta o sistema
O AppRecommender não foi concebido como um produto puramente comercial. As suas origens remontam à investigação académica e aplicada realizada em colaboração com o ISCTE-IUL, uma das principais universidades portuguesas em investigação tecnológica e de gestão. A parceria juntou a capacidade de engenharia da Caixa Mágica e os dados reais da loja de aplicações da Aptoide com a experiência de investigação do ISCTE-IUL em sistemas de recomendação e aprendizagem automática.
Esta base é importante para a qualidade dos modelos subjacentes. Os sistemas de recomendação são apenas tão bons quanto a investigação que os suporta. Construir sobre métodos revistos por.
Impacto do Recommender de Aplicações: Que Mudanças para Cada Stakeholder
Recomendador de Aplicações para Utilizadores: Encontrar a Aplicação Certa à Primeira
O benefício mais direto do AppRecommender é a redução do tempo e do esforço que os utilizadores despendem a procurar aplicações que vão de encontro às suas necessidades. Atualmente, esse processo é ineficiente por qualquer medida. Os utilizadores procuram várias vezes, descarregam aplicações que não utilizam e dependem de recomendações pessoais porque as ferramentas da própria loja são inadequadas.
O AppRecommender muda a norma. Os utilizadores encontram aplicações relevantes no momento em que abrem a loja, antes mesmo de terem de fazer uma pesquisa. Quando fazem uma pesquisa, os resultados refletem a sua intenção, em vez de uma correspondência de palavras-chave. A taxa de abandono do 77% nas 72 horas seguintes à instalação é um sintoma direto de uma descoberta ineficaz. Na prática, uma melhor descoberta significa que os utilizadores encontram aplicações que se adequam verdadeiramente às suas necessidades, o que significa que é mais provável que continuem a utilizá-las.
Para programadores e empresas: alcançar o público certo
A taxa de insucesso comercial entre os desenvolvedores de aplicações não é primariamente um problema de qualidade. Muitas boas aplicações nunca encontram os seus utilizadores porque a descoberta é dominada por incumbentes com grandes orçamentos de marketing e contagens elevadas de downloads. Um sistema de recomendação que combine aplicações com utilizadores com base na adequação, em vez de popularidade, dá aos desenvolvedores mais pequenos um caminho genuíno para o seu público.
Para empresas que promovem aplicações como parte de uma estratégia de produto ou serviço mais ampla, o AppRecommender oferece uma segmentação mais precisa. Alcançar utilizadores que provavelmente irão interagir com uma aplicação, com base no seu perfil e contexto, é mais valioso do que alcançar um público vasto, mas indiferenciado.
Para a Caixa Mágica e Aptoide: uma loja melhor
A Caixa Mágica, como promotora principal do projeto AppRecommender, leva os resultados diretamente para o mercado através da sua relação com Aptoide. Para a Aptoide, uma loja onde a descoberta de qualidade é um diferenciador competitivo, o AppRecommender representa uma melhoria direta do serviço principal.
Melhores recomendações significam que os utilizadores passam mais tempo na loja. Resultados de pesquisa mais relevantes significam menos sessões abandonadas. Uma descoberta melhorada aumenta o número de utilizadores ativos e a qualidade do envolvimento em toda a plataforma. Desenvolvedores que veem as suas aplicações a chegar aos utilizadores certos são mais propensos a publicar através da Aptoide e a investir na sua presença na loja.
