SlideShare uma empresa Scribd logo
1 de 23
Proposta de Modelo Adaptativo para
            o de Contextos na
                   o de Locais
     Celso V. Crivelaro – LTA Poli USP
      Fabrício J. Barth – Apontador
    Ricardo L. A. Rocha – LTA Poli USP
Onde queremos chegar…
• Incrementar a qualidade de Sistemas de
  Recomendação Contextuais de Locais com técnicas
  Adaptativas

• Identificar múltiplos contextos dos usuário e poder
  criá-los no momento da navegação do usuário

• Possibilitar o tratamento de múltiplos contextos ao
  mesmo tempo


                                                        2
Por que queremos isso?

• Sistema de Recomendação para o site Apontador
  (líder brasileiro em busca de locais)




                                                  3
Por que queremos isso?
• Percebeu-se que na recomendação de locais que os
  usuários visitavam grupos de pontos concentrados;
   – Ex.: Bairro da Vila Madalena em São Paulo ou o
     grupo de cidades de Bauru, Arealva e Ibitinga em
     São Paulo;

• Esse fator gerou uma necessidade de definir os
  contextos dos usuários para incrementar as
  recomendações, ou seja, o sistema se adaptar a
  realidade do usuário.

                                                    4
Sistemas de Recomendação (SR)

• Permitem a recomendação de itens para o usuário a
  partir do seu histórico de acesso aos itens;

• Os itens podem ser considerados produtos de
  venda, locais, música ou mesmo outros usuários;

• Direciona os itens que o usuário pode se interessar.
  Trabalha com uma ferramenta de divulgação dos
  itens ao usuário.

                                                     5
Como são classificados os SR?
  BASEADO EM CONTEÚDO                      FILTRAGEM COLABORATIVA

• São avaliados os conteúdos             • Próximo da recomendação
  dos itens                                boca a boca
• A recomendação é feita ela
  comparação do item a ser               • É recomendado itens ao
  recomendado com os itens                 usuário de usuários com
  que o usuário consumiu                   interesses parecidos

                    Baseados em Conhecimento

                   • A recomendação é feita a
                     partir de uma base de
                     conhecimento

                   • Ela pode ser gerada por
                     regras arbitrárias ou técnica
                     de data mining
                                                                     6
E o tipo de SR usado vai ser …
  BASEADO EM CONTEÚDO                      FILTRAGEM COLABORATIVA

• São avaliados os conteúdos             • Próximo da recomendação
  dos itens                                boca a boca
• A recomendação é feita ela
  comparação do item a ser               • É recomendado itens ao
  recomendado com os itens                 usuário de usuários com
  que o usuário consumiu                   interesses parecidos

                    Baseados em Conhecimento

                   • A recomendação é feita a
                     partir de uma base de
                     conhecimento

                   • Ela pode ser gerada por
                     regras arbitrárias ou técnica
                     de data mining
                                                                     7
Filtragem Colaborativa
• Recomenda de acordo com os usuários mais
  próximos ou os itens relacionados
• Técnica tradicional: kNN




• Média ponderada da avaliação entre os itens mais
  próximos aos que usuário avaliou



                                                     8
Filtragem Colaborativa
• Recomenda de acordo com os usuários mais
  próximos ou os itens relacionados
• Técnica tradicional: kNN




         Avaliação
    estimada do item   Avalição do item i   Similaridade entre os
      k ao usuário u   pelo usuário               Itens i e k


                                                                    9
Filtragem Colaborativa
• A medida de similaridade mais comum é a
  Correlação de Pearson:




• Correlaciona os itens i e j pelas avaliações que os
  usuários fizeram dos mesmos itens.


                                                        10
Mas o usuário está em um contexto…
• Para o caso do site Apontador para recomendação de
  locais, é necessário definir o contexto do usuário:
   – Contexto é definido como a região onde o usuário
     frequenta ou tem interesse
   – Ex: Bairro da Cidade Universitária e o bairro do
     Itaim Bibi na cidade de São Paulo

• Com a recomendação colaborativa, é necessário
  filtrar os locais de acordo com o contexto do usuário


                                                          11
Solução encontrada
• Ye[3] propõe que a probabilidade de o usuário visitar
  um local é uma distribuição de potência da distância
  entre o local com os locais que ele já visitou
   sendo que P calcula a probabilidade de um usuário visitar os
   dois locais apenas pela distância entre eles:

                    ������( ������,������) = ������  × ������   ( , )           (6)

      Ye [9] propõe que a probabilidade de um usuário visitar um
• Ideia:i Mais local jpróximo um lugar é dosprobabilidade na
   local e um mais segue uma distribuição de lugares que
  foram visitados, mais provável elebésão ser parâmetros da
   forma de potência, sendo que a e        de os visitado
   distribuição. Os parâmetros a e b são calculados para cada
   sistema usando método do Gradiente Descendente e conjunto
   de dados é cada distância entre lugares i e j que um mesmo 12
Problema…
• Essa solução considera apenas um único contexto!

• Se o usuário vive na Vila Madalena em SP e tem
  interesse em viajar por Foz do Iguaçu, terá uma
  queda na qualidade das recomendações para ambas
  as regiões

• É necessário criar contextos a medida que o usuário
  visita os locais para isolá-los na recomendação
  contextual.

                                                        13
zado a   Nesse momento, o dispositivo adaptativo apenas faz as ações
área de   de consulta em vez de executar alguma ação sobre o
 amada           Aqui entra Adaptatividade!
          dispositivo subjacente, que apenas inclui o novo item na sua
          lista, conforme apresentado na Figura 1 e Figura 2.
om um
ema; •
     e    Solução adaptativa paraLa criação de contextos
                   i                           in+1
núcleo
     •
dos de    Cada contexto pode ser considerado uma lista de
                         i1   i2    ...  in
          itens
alizado                   Figura 1 - Inserção de item na lista


                      i        Ação adaptativa
                                 de consulta
MA   ⊂
                                      i1         i2        ...        in    L1


                                      i1         i2        ...        in    L2
e
.                                                     .
                                                      .
                                                      .
 obre o                               i1         i2                   in    Ln
                                                           ...

                      Figura 2 - Ação adaptativa de consulta

                                                          ∥ ∥                            14
            Se novo local i tiver mais do que                    locais distantes pelo
Adaptando os contextos…
• Se o SR contextual se modificasse a cada novo local
  visitado pelo usuário?
                     Expandindo o contexto
                       (solução de Ye[3])
            Novo Local




             Isolando locais em outro Contexto
                    (solução adaptativa)


                                                        15
Criação de uma lista de uma nova regra que
                Nesse momento, a ação adaptativa cria itens                               P
                   será o contexto ������ , fazendo a inserção do local i e dos               re
                   outros locais, tal que ������( ������,������) < θ.                                 R
• A partir de um critério de diferença de inclusão nas
                      Para a recomendação de um local com múltiplas listas, o
                   valor do algoritmo colaborativo multiplica-se pelo fator de
  listas, gerar uma novo contexto um incluir em
                   contexto. Havendo múltiplos contextos, o resultado não será
                                                                     Esse t
                   apenas uma lista TOP N de recomendações, mas sim n listas
  alguma lista;                                                   para a re
                   de recomendações. Para o caso de um sistema que tiver apenas
                                                                  de conte
                   uma lista Top N, é necessário que o contexto tenha apenas
• Critério para locais: Se em todas as listas, o local
                   mais importância para aquele local i:
                                                                  contexto
                                                                     A apl
                                   que Θ ������������������  max ������(������ da
  tiver distância maior do  ������������������������������ ������������ =para mais,������) metade recomen
                     ������������������������  ������������ ������
                       ������                                     (8) recomen
  dos outros itens da lista                                       commerc
                               i     Ação adaptativa de                           distintos
                                      criação de Lista                            pessoas.
                                            i1      i2        ...   in   L1


                                            i1      i2        ...   in   L2       [1]   Linde
                                                          .
                                                                                        recom
                                                          .
                                                          .                             Comp
                                            i1      i2              in   Ln       [2]   X. Su
                                                              ...
                                                                                        Tech
                                                                                  [3]   Adom
                                            i       i2        ...   in   L n+1          Reco
                                                                                  16    Exten
                               Figura 3 - Ação adaptativa de inclusão                   (2005
Inferindo sobre um contexto
• Com vários contextos, é mais fácil inferir qual o
  usuário deve estar mais interessado
                                 Incluindo em uma lista existente




                                                                    17
Inferindo sobre um contexto
• Com vários contextos, é mais fácil inferir qual o
  usuário deve estar mais interessado
                                 Criando uma nova lista




                                                          18
Como avaliar essa proposta?
• Será usado um corpus (log de acesso) do site
  Apontador de 6 meses;

• Esse corpus contém avaliações explícitas e implícitas
  dos usuários sobre os locais

• Comparar a técnica proposta com recomendações
  sem contexto e com contexto único proposto por
  Ye[3]


                                                          19
I
                                                                                   A
                   VI. RESULTADOS ESPERADOS
        Comoa avaliar essa proposta? no
      Para avaliar melhoria da inclusão da técnica adaptativa
                                                                            [10]
                                                                                   D
                                                                                   B
                                                                                   U
• Separação do corpus:
    Sistema de Recomendação baseado em Contexto, este será                         N
    comparado com o mesmo Sistema de Recomendação sem o                     [11]   N
   – 70% para Treinamento
    contexto.                                                                      C
   – 15% para mais tradicional de medir a qualidade de um
      A forma Cross-validation                                                     W
                                                                                   I
   – 15 % para Testes
    Sistema de Recomendação de acordo com [13], é pela acurácia             [12]   C
   da predição. Uma das medidas que será usada é a Raiz do Erro                    T
                                                                                   –
• Algumas medidas a serem usadas: usada na avaliação do
   Quadrático Médio (REQM), que foi
                                                                            [13]   H
   prêmio oferecido pela Netflix [14]:
   – Raiz do Erro Quadrático Médio                                                 c
                                                                                   I
                          1                                                 [14]   N
             ������������������������ =                     (������   ,   − ������ , )       (9)    [15]   R
                          ������                                                       S
                                ∈  ������,  ∈  ℐ 

   – Precisão
      Em que n é o total de avaliações sobre todos os usuários,
   – Recall avaliação inferida do item i ao usuário u, e ������ é a
    ������ é a
      ,                                                          ,
    avaliação real.
      Outras medidas usadas são mais conhecidas na área de                 20
Próximos passos…
• Definir um método genérico de escolha de hipótese
  para avaliar se a criação de um novo contexto (ação
  adaptativa) é melhor do que inserir o local nos
  contextos conhecidos

• Comparar com outras técnicas de recomendação
  contextual




                                                        21
Celso Crivelaro – celsocrivelaro@gmail.com
Fabrício Barth – fabricio.barth@gmail.com
Ricardo Rocha – luis.rocha@poli.usp.br


OBRIGADO!

                                             22
Referências
[1] Ricci, F., Rokach, L., and Shapira, B., editors (2010).
Recommender Systems Handbook. Springer

[2] NETO, J. J., Adaptive Rule-Driven Devices - General
Formulation and Case Study.

[3] M. Ye, P. Yin, W.-C. Lee, and D. L. Lee. Exploiting
Geographical Influence for Collaborative Point-of-
Interest Recommendation.


                                                              23

Mais conteúdo relacionado

Destaque

Destaque (19)

Actividades de probabilidades_dos_1001_itens
Actividades de probabilidades_dos_1001_itensActividades de probabilidades_dos_1001_itens
Actividades de probabilidades_dos_1001_itens
 
El supermercado
El supermercadoEl supermercado
El supermercado
 
Metodos de encriptacio via vpn´s
Metodos de encriptacio via vpn´sMetodos de encriptacio via vpn´s
Metodos de encriptacio via vpn´s
 
Fotos Ciudad de Vigo 2010-2011
Fotos Ciudad de Vigo 2010-2011Fotos Ciudad de Vigo 2010-2011
Fotos Ciudad de Vigo 2010-2011
 
Projinclusdigitfina lx
Projinclusdigitfina lxProjinclusdigitfina lx
Projinclusdigitfina lx
 
A Ge.N.Te no Carro
A Ge.N.Te no CarroA Ge.N.Te no Carro
A Ge.N.Te no Carro
 
Encriptacion
EncriptacionEncriptacion
Encriptacion
 
CP DR3
CP DR3CP DR3
CP DR3
 
Trabajo de MATLAB
Trabajo de MATLABTrabajo de MATLAB
Trabajo de MATLAB
 
Informe sobre el embalse de Biscarrués
Informe sobre el embalse de BiscarruésInforme sobre el embalse de Biscarrués
Informe sobre el embalse de Biscarrués
 
A tortuga galapago
A tortuga galapagoA tortuga galapago
A tortuga galapago
 
Guia didàctica video
Guia didàctica videoGuia didàctica video
Guia didàctica video
 
Area e perímetro.ppsx
Area e perímetro.ppsxArea e perímetro.ppsx
Area e perímetro.ppsx
 
Tvmayo10
Tvmayo10Tvmayo10
Tvmayo10
 
Leandro del Moral nos ha hecho pensar en el VII Congreso Ibérico
Leandro del Moral nos ha hecho pensar en el VII Congreso Ibérico Leandro del Moral nos ha hecho pensar en el VII Congreso Ibérico
Leandro del Moral nos ha hecho pensar en el VII Congreso Ibérico
 
Prueba 1
Prueba 1Prueba 1
Prueba 1
 
F08 9122-014 guia de aprendizaje 1
F08 9122-014 guia de aprendizaje 1F08 9122-014 guia de aprendizaje 1
F08 9122-014 guia de aprendizaje 1
 
Presentacion
PresentacionPresentacion
Presentacion
 
Paper usb 3
Paper usb 3Paper usb 3
Paper usb 3
 

Semelhante a Modelo Adaptativo Contextual SR Locais

Minerando dados com Python
Minerando dados com PythonMinerando dados com Python
Minerando dados com PythonRamiro Luz
 
Sistemas de recomendação
Sistemas de recomendaçãoSistemas de recomendação
Sistemas de recomendaçãoAnderson Dantas
 
Sistemas de Recomendação Usando Mahout - Dia 2
Sistemas de Recomendação Usando Mahout - Dia 2Sistemas de Recomendação Usando Mahout - Dia 2
Sistemas de Recomendação Usando Mahout - Dia 2Alison Marczewski
 
Indexação e busca baseada em metadados em um sistema P2P Híbrido
Indexação e busca baseada em metadados em um sistema P2P HíbridoIndexação e busca baseada em metadados em um sistema P2P Híbrido
Indexação e busca baseada em metadados em um sistema P2P HíbridoMarco André Machado
 
Analise e projetos orientados a objetos
Analise e projetos orientados a objetosAnalise e projetos orientados a objetos
Analise e projetos orientados a objetosSliedesharessbarbosa
 
[Jose Ahirton Lopes] Algoritmos de Recomendacao
[Jose Ahirton Lopes] Algoritmos de Recomendacao[Jose Ahirton Lopes] Algoritmos de Recomendacao
[Jose Ahirton Lopes] Algoritmos de RecomendacaoAhirton Lopes
 
[Jose Ahirton Lopes] Algoritmos de Recomendacao II
[Jose Ahirton Lopes] Algoritmos de Recomendacao II[Jose Ahirton Lopes] Algoritmos de Recomendacao II
[Jose Ahirton Lopes] Algoritmos de Recomendacao IIAhirton Lopes
 
Sistemas de Recomendação - Parte 1
Sistemas de Recomendação - Parte 1Sistemas de Recomendação - Parte 1
Sistemas de Recomendação - Parte 1Ralph Rassweiler
 
Sistemas de Recomendação e Inteligência Coletiva
Sistemas de Recomendação e Inteligência ColetivaSistemas de Recomendação e Inteligência Coletiva
Sistemas de Recomendação e Inteligência ColetivaMarcel Caraciolo
 
Feedback de relevância e expansão de consulta
Feedback de relevância e expansão de consultaFeedback de relevância e expansão de consulta
Feedback de relevância e expansão de consultaAlexandre Duarte
 
Collaborative filtering
Collaborative filteringCollaborative filtering
Collaborative filteringZhang Yi Ling
 
[Jose Ahirton Lopes] Transfer Learning e GANS 101
[Jose Ahirton Lopes] Transfer Learning e GANS 101[Jose Ahirton Lopes] Transfer Learning e GANS 101
[Jose Ahirton Lopes] Transfer Learning e GANS 101Ahirton Lopes
 
Sistemas de Recomendação com Neo4j + Surprise
Sistemas de Recomendação com Neo4j + SurpriseSistemas de Recomendação com Neo4j + Surprise
Sistemas de Recomendação com Neo4j + SurpriseMorvana Bonin
 

Semelhante a Modelo Adaptativo Contextual SR Locais (20)

Minerando dados com Python
Minerando dados com PythonMinerando dados com Python
Minerando dados com Python
 
Sistemas de recomendação
Sistemas de recomendaçãoSistemas de recomendação
Sistemas de recomendação
 
Sistemas de Recomendação
Sistemas de Recomendação Sistemas de Recomendação
Sistemas de Recomendação
 
Sistemas de Recomendação na web
Sistemas de Recomendação na webSistemas de Recomendação na web
Sistemas de Recomendação na web
 
Sistemas de Recomendação Usando Mahout - Dia 2
Sistemas de Recomendação Usando Mahout - Dia 2Sistemas de Recomendação Usando Mahout - Dia 2
Sistemas de Recomendação Usando Mahout - Dia 2
 
Indexação e busca baseada em metadados em um sistema P2P Híbrido
Indexação e busca baseada em metadados em um sistema P2P HíbridoIndexação e busca baseada em metadados em um sistema P2P Híbrido
Indexação e busca baseada em metadados em um sistema P2P Híbrido
 
Gestão de conteúdo nas mídias sociais - Trespontos
Gestão de conteúdo nas mídias sociais - TrespontosGestão de conteúdo nas mídias sociais - Trespontos
Gestão de conteúdo nas mídias sociais - Trespontos
 
Analise e projetos orientados a objetos
Analise e projetos orientados a objetosAnalise e projetos orientados a objetos
Analise e projetos orientados a objetos
 
Data mining
Data miningData mining
Data mining
 
[Jose Ahirton Lopes] Algoritmos de Recomendacao
[Jose Ahirton Lopes] Algoritmos de Recomendacao[Jose Ahirton Lopes] Algoritmos de Recomendacao
[Jose Ahirton Lopes] Algoritmos de Recomendacao
 
Talk conexao
Talk conexaoTalk conexao
Talk conexao
 
[Jose Ahirton Lopes] Algoritmos de Recomendacao II
[Jose Ahirton Lopes] Algoritmos de Recomendacao II[Jose Ahirton Lopes] Algoritmos de Recomendacao II
[Jose Ahirton Lopes] Algoritmos de Recomendacao II
 
Sistemas de Recomendação - Parte 1
Sistemas de Recomendação - Parte 1Sistemas de Recomendação - Parte 1
Sistemas de Recomendação - Parte 1
 
Sistemas de Recomendação e Inteligência Coletiva
Sistemas de Recomendação e Inteligência ColetivaSistemas de Recomendação e Inteligência Coletiva
Sistemas de Recomendação e Inteligência Coletiva
 
Feedback de relevância e expansão de consulta
Feedback de relevância e expansão de consultaFeedback de relevância e expansão de consulta
Feedback de relevância e expansão de consulta
 
Apresentação da Dissertação
Apresentação da DissertaçãoApresentação da Dissertação
Apresentação da Dissertação
 
Collaborative filtering
Collaborative filteringCollaborative filtering
Collaborative filtering
 
[Jose Ahirton Lopes] Transfer Learning e GANS 101
[Jose Ahirton Lopes] Transfer Learning e GANS 101[Jose Ahirton Lopes] Transfer Learning e GANS 101
[Jose Ahirton Lopes] Transfer Learning e GANS 101
 
Sistemas de Recomendação com Neo4j + Surprise
Sistemas de Recomendação com Neo4j + SurpriseSistemas de Recomendação com Neo4j + Surprise
Sistemas de Recomendação com Neo4j + Surprise
 
Modelo plus
Modelo plusModelo plus
Modelo plus
 

Mais de Celso Crivelaro

Testing Network Conditions with ToxiProxy
Testing Network Conditions with ToxiProxyTesting Network Conditions with ToxiProxy
Testing Network Conditions with ToxiProxyCelso Crivelaro
 
Banco temporal Influxdb + Grafana: Operando sua Plataforma
Banco temporal Influxdb + Grafana: Operando sua PlataformaBanco temporal Influxdb + Grafana: Operando sua Plataforma
Banco temporal Influxdb + Grafana: Operando sua PlataformaCelso Crivelaro
 
Separando a regra de negócios do Rails
Separando a regra de negócios do RailsSeparando a regra de negócios do Rails
Separando a regra de negócios do RailsCelso Crivelaro
 
What devs should know about email
What devs should know about emailWhat devs should know about email
What devs should know about emailCelso Crivelaro
 
High Performance Architecture Patterns
High Performance Architecture PatternsHigh Performance Architecture Patterns
High Performance Architecture PatternsCelso Crivelaro
 
O que devs precisam saber sobre email
O que devs precisam saber sobre emailO que devs precisam saber sobre email
O que devs precisam saber sobre emailCelso Crivelaro
 
Escalando uma plataforma de e-mail transacional- aprendizado das trincheiras
Escalando uma plataforma de e-mail transacional- aprendizado das trincheirasEscalando uma plataforma de e-mail transacional- aprendizado das trincheiras
Escalando uma plataforma de e-mail transacional- aprendizado das trincheirasCelso Crivelaro
 
High Performance Architecture Patterns
High Performance Architecture PatternsHigh Performance Architecture Patterns
High Performance Architecture PatternsCelso Crivelaro
 
Treinamento apresentação
Treinamento apresentaçãoTreinamento apresentação
Treinamento apresentaçãoCelso Crivelaro
 
WTA 2012 - Proposta de Modelo Adaptativo para Geração de Contextos na Recom...
WTA 2012 - Proposta de Modelo Adaptativo para Geração de Contextos na Recom...WTA 2012 - Proposta de Modelo Adaptativo para Geração de Contextos na Recom...
WTA 2012 - Proposta de Modelo Adaptativo para Geração de Contextos na Recom...Celso Crivelaro
 

Mais de Celso Crivelaro (16)

Testing Network Conditions with ToxiProxy
Testing Network Conditions with ToxiProxyTesting Network Conditions with ToxiProxy
Testing Network Conditions with ToxiProxy
 
Actor model in Ruby
Actor model in RubyActor model in Ruby
Actor model in Ruby
 
Banco temporal Influxdb + Grafana: Operando sua Plataforma
Banco temporal Influxdb + Grafana: Operando sua PlataformaBanco temporal Influxdb + Grafana: Operando sua Plataforma
Banco temporal Influxdb + Grafana: Operando sua Plataforma
 
Separando a regra de negócios do Rails
Separando a regra de negócios do RailsSeparando a regra de negócios do Rails
Separando a regra de negócios do Rails
 
What devs should know about email
What devs should know about emailWhat devs should know about email
What devs should know about email
 
High Performance Architecture Patterns
High Performance Architecture PatternsHigh Performance Architecture Patterns
High Performance Architecture Patterns
 
O que devs precisam saber sobre email
O que devs precisam saber sobre emailO que devs precisam saber sobre email
O que devs precisam saber sobre email
 
Escalando uma plataforma de e-mail transacional- aprendizado das trincheiras
Escalando uma plataforma de e-mail transacional- aprendizado das trincheirasEscalando uma plataforma de e-mail transacional- aprendizado das trincheiras
Escalando uma plataforma de e-mail transacional- aprendizado das trincheiras
 
High Performance Architecture Patterns
High Performance Architecture PatternsHigh Performance Architecture Patterns
High Performance Architecture Patterns
 
Apresentação GOLD
Apresentação GOLDApresentação GOLD
Apresentação GOLD
 
Treinamento apresentação
Treinamento apresentaçãoTreinamento apresentação
Treinamento apresentação
 
WTA 2012 - Proposta de Modelo Adaptativo para Geração de Contextos na Recom...
WTA 2012 - Proposta de Modelo Adaptativo para Geração de Contextos na Recom...WTA 2012 - Proposta de Modelo Adaptativo para Geração de Contextos na Recom...
WTA 2012 - Proposta de Modelo Adaptativo para Geração de Contextos na Recom...
 
Primeiro step
Primeiro stepPrimeiro step
Primeiro step
 
Cv
CvCv
Cv
 
Formas decontratação
Formas decontrataçãoFormas decontratação
Formas decontratação
 
Negociação
NegociaçãoNegociação
Negociação
 

Modelo Adaptativo Contextual SR Locais

  • 1. Proposta de Modelo Adaptativo para o de Contextos na o de Locais Celso V. Crivelaro – LTA Poli USP Fabrício J. Barth – Apontador Ricardo L. A. Rocha – LTA Poli USP
  • 2. Onde queremos chegar… • Incrementar a qualidade de Sistemas de Recomendação Contextuais de Locais com técnicas Adaptativas • Identificar múltiplos contextos dos usuário e poder criá-los no momento da navegação do usuário • Possibilitar o tratamento de múltiplos contextos ao mesmo tempo 2
  • 3. Por que queremos isso? • Sistema de Recomendação para o site Apontador (líder brasileiro em busca de locais) 3
  • 4. Por que queremos isso? • Percebeu-se que na recomendação de locais que os usuários visitavam grupos de pontos concentrados; – Ex.: Bairro da Vila Madalena em São Paulo ou o grupo de cidades de Bauru, Arealva e Ibitinga em São Paulo; • Esse fator gerou uma necessidade de definir os contextos dos usuários para incrementar as recomendações, ou seja, o sistema se adaptar a realidade do usuário. 4
  • 5. Sistemas de Recomendação (SR) • Permitem a recomendação de itens para o usuário a partir do seu histórico de acesso aos itens; • Os itens podem ser considerados produtos de venda, locais, música ou mesmo outros usuários; • Direciona os itens que o usuário pode se interessar. Trabalha com uma ferramenta de divulgação dos itens ao usuário. 5
  • 6. Como são classificados os SR? BASEADO EM CONTEÚDO FILTRAGEM COLABORATIVA • São avaliados os conteúdos • Próximo da recomendação dos itens boca a boca • A recomendação é feita ela comparação do item a ser • É recomendado itens ao recomendado com os itens usuário de usuários com que o usuário consumiu interesses parecidos Baseados em Conhecimento • A recomendação é feita a partir de uma base de conhecimento • Ela pode ser gerada por regras arbitrárias ou técnica de data mining 6
  • 7. E o tipo de SR usado vai ser … BASEADO EM CONTEÚDO FILTRAGEM COLABORATIVA • São avaliados os conteúdos • Próximo da recomendação dos itens boca a boca • A recomendação é feita ela comparação do item a ser • É recomendado itens ao recomendado com os itens usuário de usuários com que o usuário consumiu interesses parecidos Baseados em Conhecimento • A recomendação é feita a partir de uma base de conhecimento • Ela pode ser gerada por regras arbitrárias ou técnica de data mining 7
  • 8. Filtragem Colaborativa • Recomenda de acordo com os usuários mais próximos ou os itens relacionados • Técnica tradicional: kNN • Média ponderada da avaliação entre os itens mais próximos aos que usuário avaliou 8
  • 9. Filtragem Colaborativa • Recomenda de acordo com os usuários mais próximos ou os itens relacionados • Técnica tradicional: kNN Avaliação estimada do item Avalição do item i Similaridade entre os k ao usuário u pelo usuário Itens i e k 9
  • 10. Filtragem Colaborativa • A medida de similaridade mais comum é a Correlação de Pearson: • Correlaciona os itens i e j pelas avaliações que os usuários fizeram dos mesmos itens. 10
  • 11. Mas o usuário está em um contexto… • Para o caso do site Apontador para recomendação de locais, é necessário definir o contexto do usuário: – Contexto é definido como a região onde o usuário frequenta ou tem interesse – Ex: Bairro da Cidade Universitária e o bairro do Itaim Bibi na cidade de São Paulo • Com a recomendação colaborativa, é necessário filtrar os locais de acordo com o contexto do usuário 11
  • 12. Solução encontrada • Ye[3] propõe que a probabilidade de o usuário visitar um local é uma distribuição de potência da distância entre o local com os locais que ele já visitou sendo que P calcula a probabilidade de um usuário visitar os dois locais apenas pela distância entre eles: ������( ������,������) = ������  × ������ ( , ) (6) Ye [9] propõe que a probabilidade de um usuário visitar um • Ideia:i Mais local jpróximo um lugar é dosprobabilidade na local e um mais segue uma distribuição de lugares que foram visitados, mais provável elebésão ser parâmetros da forma de potência, sendo que a e de os visitado distribuição. Os parâmetros a e b são calculados para cada sistema usando método do Gradiente Descendente e conjunto de dados é cada distância entre lugares i e j que um mesmo 12
  • 13. Problema… • Essa solução considera apenas um único contexto! • Se o usuário vive na Vila Madalena em SP e tem interesse em viajar por Foz do Iguaçu, terá uma queda na qualidade das recomendações para ambas as regiões • É necessário criar contextos a medida que o usuário visita os locais para isolá-los na recomendação contextual. 13
  • 14. zado a Nesse momento, o dispositivo adaptativo apenas faz as ações área de de consulta em vez de executar alguma ação sobre o amada Aqui entra Adaptatividade! dispositivo subjacente, que apenas inclui o novo item na sua lista, conforme apresentado na Figura 1 e Figura 2. om um ema; • e Solução adaptativa paraLa criação de contextos i in+1 núcleo • dos de Cada contexto pode ser considerado uma lista de i1 i2 ... in itens alizado Figura 1 - Inserção de item na lista i Ação adaptativa de consulta MA ⊂ i1 i2 ... in L1 i1 i2 ... in L2 e . . . . obre o i1 i2 in Ln ... Figura 2 - Ação adaptativa de consulta ∥ ∥ 14 Se novo local i tiver mais do que locais distantes pelo
  • 15. Adaptando os contextos… • Se o SR contextual se modificasse a cada novo local visitado pelo usuário? Expandindo o contexto (solução de Ye[3]) Novo Local Isolando locais em outro Contexto (solução adaptativa) 15
  • 16. Criação de uma lista de uma nova regra que Nesse momento, a ação adaptativa cria itens P será o contexto ������ , fazendo a inserção do local i e dos re outros locais, tal que ������( ������,������) < θ. R • A partir de um critério de diferença de inclusão nas Para a recomendação de um local com múltiplas listas, o valor do algoritmo colaborativo multiplica-se pelo fator de listas, gerar uma novo contexto um incluir em contexto. Havendo múltiplos contextos, o resultado não será Esse t apenas uma lista TOP N de recomendações, mas sim n listas alguma lista; para a re de recomendações. Para o caso de um sistema que tiver apenas de conte uma lista Top N, é necessário que o contexto tenha apenas • Critério para locais: Se em todas as listas, o local mais importância para aquele local i: contexto A apl que Θ ������������������  max ������(������ da tiver distância maior do  ������������������������������ ������������ =para mais,������) metade recomen ������������������������  ������������ ������ ������ (8) recomen dos outros itens da lista commerc i Ação adaptativa de distintos criação de Lista pessoas. i1 i2 ... in L1 i1 i2 ... in L2 [1] Linde . recom . . Comp i1 i2 in Ln [2] X. Su ... Tech [3] Adom i i2 ... in L n+1 Reco 16 Exten Figura 3 - Ação adaptativa de inclusão (2005
  • 17. Inferindo sobre um contexto • Com vários contextos, é mais fácil inferir qual o usuário deve estar mais interessado Incluindo em uma lista existente 17
  • 18. Inferindo sobre um contexto • Com vários contextos, é mais fácil inferir qual o usuário deve estar mais interessado Criando uma nova lista 18
  • 19. Como avaliar essa proposta? • Será usado um corpus (log de acesso) do site Apontador de 6 meses; • Esse corpus contém avaliações explícitas e implícitas dos usuários sobre os locais • Comparar a técnica proposta com recomendações sem contexto e com contexto único proposto por Ye[3] 19
  • 20. I A VI. RESULTADOS ESPERADOS Comoa avaliar essa proposta? no Para avaliar melhoria da inclusão da técnica adaptativa [10] D B U • Separação do corpus: Sistema de Recomendação baseado em Contexto, este será N comparado com o mesmo Sistema de Recomendação sem o [11] N – 70% para Treinamento contexto. C – 15% para mais tradicional de medir a qualidade de um A forma Cross-validation W I – 15 % para Testes Sistema de Recomendação de acordo com [13], é pela acurácia [12] C da predição. Uma das medidas que será usada é a Raiz do Erro T – • Algumas medidas a serem usadas: usada na avaliação do Quadrático Médio (REQM), que foi [13] H prêmio oferecido pela Netflix [14]: – Raiz do Erro Quadrático Médio c I 1 [14] N ������������������������ =   (������ , − ������ , ) (9) [15] R ������ S  ∈  ������,  ∈  ℐ  – Precisão Em que n é o total de avaliações sobre todos os usuários, – Recall avaliação inferida do item i ao usuário u, e ������ é a ������ é a , , avaliação real. Outras medidas usadas são mais conhecidas na área de 20
  • 21. Próximos passos… • Definir um método genérico de escolha de hipótese para avaliar se a criação de um novo contexto (ação adaptativa) é melhor do que inserir o local nos contextos conhecidos • Comparar com outras técnicas de recomendação contextual 21
  • 22. Celso Crivelaro – celsocrivelaro@gmail.com Fabrício Barth – fabricio.barth@gmail.com Ricardo Rocha – luis.rocha@poli.usp.br OBRIGADO! 22
  • 23. Referências [1] Ricci, F., Rokach, L., and Shapira, B., editors (2010). Recommender Systems Handbook. Springer [2] NETO, J. J., Adaptive Rule-Driven Devices - General Formulation and Case Study. [3] M. Ye, P. Yin, W.-C. Lee, and D. L. Lee. Exploiting Geographical Influence for Collaborative Point-of- Interest Recommendation. 23