Social Query André ([email protected]) Jacinto ([email protected]) Roteiro • Motivação • Social Query • Aardvark • Conclusão • Referências Motivação - Necessidade de informações mais relevantes. - “Data de nascimento de Albert Eistein?” - “Do you have any good babysitter recommendations in. Palo Alto for my 6-year-old twins? I'm looking for somebody that won't let them watch TV.” - Realização de consultas com grau maior de contextualização (linguagem natural) - Questões sem respostas na web Social Query • O que é Social Query? o É um tipo de consulta de web que leva em conta o Social Graph da pessoa que realiza a consulta. o Trazem opiniões dos usuários dos serviços e não apenas dos provedores. Social Query x Traditional Web Search • Traditional Web Search o Consultas por palavras chaves o Baseado no library paradigm o A relevância é determinada através da análise do texto de cada documento ou a estrutura de links dos documentos. o Confiança baseada na autoridade o Ex: Google, Bing, Search.com Social Query x Traditional Web Search • Social Search o Consultas por linguagem natural o Baseado no village paradigm o Busca por pessoas o Confiança baseada na intimidade o Ex: Aardvark Aardvark - O que é? • Mamífero africano • • • • • o (aarde, "terra", e vark, "porco“) Mecanismo de busca social Baseado no village paradigm Perguntas em linguagem natural Informação nas pessoas, não em documentos Consultas subjetivas: • • • • Opinião Conselho Experiência Recomendações • Serviço adquirido pelo Google em 2010 • Aardvark foi desligado em setembro de 2011 Aardvark - Funcionamento básico Aardvark - Componentes Os principais componentes do Aardvark são: • Crawler e Indexer • Query Analyzer • Ranking Function • User Interface Aardvark - Iniciação do Usuário • Indexação de informação de amizade e filiação • Conectar a uma rede social existente (Facebook/LinkedIn) • Importar lista de contatos de alguma conta • Convidar amigos manualmente • Informação é armazenada no Social Graph • Indexação dos tópicos sobre os quais o novo usuário tem algum nível de conhecimento/experiência • • • • • O próprio usuário acredita ser experiente Outros usuários confiam na opinião do usuário Página estruturada de perfil (Topic Parser) Conta na qual o usuário posta atualizações (Topic Extractor) Comportamento do usuário ao usar o Aardvark • Informação é armazenada no Forward Index • Inverted Index é obtido a partir do Forward Index Aardvark – A vida de uma consulta Esquemático da arquitetura do Aardvark Aardvark – O modelo • Score de relevância (dependente de consulta): • Score de qualidade (independente de consulta): • A função de pontuação (composição das duas probabilidades acima citadas): Aardvark – Social Crawling • Engenhos de busca necessitam de uma base de conhecimento abrangente. • Traditional web search • O conhecimento está contido no documentos e páginas da rede. • Uso de web crawlers em larga-escala. • Social search • O conhecimento contido nas pessoas. • Método de aquisição de conhecimento a criação de uma boa experiência para os usuários, com isso, permanecerão ativos e inclinados a convidar seus amingos. Aardvark – Indexando pessoas • Desafio: Selecionar o usuário correto para responder uma dada pergunta de um outro usuário. • Questões para indexação: • Dado um usuário • Quais tópicos ele é capaz de responder? • As quais usuários ele está conectado? Aardvark – Indexando pessoas • Quais os tópicos ele é capaz de responder? • Fontes de informação: • • • • • Usuários são solicitados a fornecer pelo menos três tópicos que eles acreditam ter conhecimento; Amigos de um usuário são encorajados a fornecer alguns tópicos que eles confiam na opinião do usuário; Aardvark analisa tópicos a partir de perfis online dos usuários (caso fornecido). Aardvark automaticamente extrai tópicos de textos não estruturados encontrados em páginas ou blogs, caso sejam providos. Aardvark automaticamente extrai tópicos de mensagens de atualização do status (twitter, facebook) e a partir das mensagens que eles enviam a outros usuários no próprio sistema do Aardvark. • Não é uma fonte de resposta, mas um indicador de quais tópicos o usuário provavelmente é capaz de dar novas respostas. Aardvark – Indexando pessoas • As quais usuários ele está conectado? • Fontes de informação: • Conexão social (amigos em comum, filiação …) • Similaridade demográfica. • Similaridade de perfil (Filmes favoritos …) • Similaridade de vocabulário • Conversão (frequência de troca mensagens) • Verbosidade (tamanho médio das mensagens) • Educação (uso do “Obrigado!“) Aardvark – Analizando perguntas • Objetivo: Entender a pergunta para que esta possa ser enviada apropriadamente para os usuários que têm interesse e possuam conhecimento para respondê-la. • Filtragem • Classificadores de perguntas são executados • NonQuestionClassifier • InappropriateQuestionClassifier • TrivialQuestionClassifier • LocationSensitiveClassifier • Ranking de tópicos específicos para uma dada pergunta Aardvark – O algoritmo de ranking • Realizado pelo Mecanismo de Roteamento • Determina uma lista ordenada de usuários que devem ser contactados para responder uma pergunta • Os principais fatores determinantes do ranking: • Topic Expertise • Connectedness • Availability • A lista de candidatos que sobreviveram ao processo de filtragem é retornada ao Gerente de Conversa. Aardvark – Interface do Usuário • Vários canais de comunicação: • SMS, Email, iPhone, Twitter • Interfaces leves e de simples interação. • Conversação é restrita • Encoraja os usuários a responderem • Cuidado para não sobrecarregar usuários Aardvark – Interface do Usuário Aardvark – Interface do Usuário • Usuário pode tentar responder questões ainda não respondidas. • Pessoas se sentem motivados a responder. Aardvark – Análise do sistema • Disponível em versão beta em Março de 2009 • Dados de Outubro de 2009: • O número de usuários cresceu de 2.272 para 90.361 • Total de 225.047 perguntas • Total de 386.702 respostas Aardvark – Análise do sistema • Aaardvark é ativamente usado: • • • • 50.526 usuários (55.9% do total) geraram conteúdo 66.658 usuários (73.8% do total) são passivamente engajados Média de volume de consultas é 3.167 consultas por dia Média de consultas mensais emitidas por usuários ativos é 3.1 • Usuários móveis são particularmente ativos • Usuários de dispositivos móveis são mais ativos que usuários desktop • Perguntas são altamente contextualizadas • Em engenhos de busca tradicionais: 2.9 palavras • No aardvark é de 18.6 palavras Aardvark – Análise do sistema • Perguntas são respondidas rapidamente • • • 57.2% das perguntas receberam sua primeira resposta em menos de 10 minutos 87.7% das perguntas receberam pelo menos uma resposta As perguntas recebem, em média, 2.08 respostas Aardvark – Análise do sistema • Respostas são de alta qualidade • • • • • • As respostas do aardvark são abrangentes e concisas A quantidade média de palavras em uma resposta é 22.2 9.1% das respostas incluem uma conexão para hipertextos 70.4% das respostas foram pontuadas como bom 14.1% foi pontuada como OK 15.5% foi pontuada como ruim Conclusão • Os mecanismos tradicionais de busca na web sempre retornam um documento, porém nem sempre suprem a necessidade de informação do usuário. • Mecanismos de busca social suprem a necessidade de informação do usuário, garantindo bons resultados em contextos específicos. Referências • Horowitz and S.D. Kamvar. 2010. The Anatomy of a Large-Scale Social Search Engine. April, 2010. • A. Banerjee and S. Basu. A Social Query Model for Decentralized Search. In SNAKDD, 2008. • Aardvark Social Search Engine: http://vark.com/ • Google Acquires Aardvark: http://techcrunch.com/2010/02/11/google-acquiresaardvark-for-50-million/