2.3 Implementering
2.3.5 Implementeringsdrivere
O sistema de recomendações baseadas em conteúdo proposto no MyPersonal- EPG emprega dois métodos de distintos de aquisição de informações sobre as preferências dos usuários. Os usuários podem indicar explicitamente que desejam receber recomendações de um gênero e subgênero específico e a aplicação simplesmente provê recomendações síncronas e assíncronas de acordo com as categorias selecionadas. Por outro lado, a aplicação também analisa, implicitamente, as ações dos usuários e usa tais informações para construir um modelo dinâmico do usuário e assim prover recomendações.
3.4.1 Modelo dinâmico do usuário
O modelo dinâmico do usuário leva em consideração o dia da semana e o horário em que os usuários estão usando a aplicação. Essas duas variáveis formam o contexto de uso da aplicação. Para cada estado do contexto, o modelo dinâmico do usuário armazena as pontuações de cada uma dos gêneros e subgêneros definidos na ontologia (prevista no apêndice C da norma ABNT NBR 15603-2).
A variável de contexto relativa ao dia da semana pode assumir qualquer valor entre os dias da semana enquanto a variável relativa ao horário pode assumir quatro valores: manhã (das 6h às 12h), tarde (das 12h às 18h), noite (das 18h às 23h) e madrugada (das 23h às 6h). Dessa forma, cada par (dia da semana, horário) forma um estado do contexto. Essa divisão é interessante porque permite que, na verdade, existam vários modelos para o mesmo usuário, de acordo com o contexto em que ele se encontra. É provável que o mesmo usuário goste de assistir a filmes e seriados no período da noite e telejornais no período da manhã ou ainda que prefira assistir a programas de auditório nos domingos. Sem essa contextualização, o modelo dos
usuários ficaria muito abrangente e a qualidade das recomendações provavelmente seria menor.
Para cada usuário e para cada estado do contexto, as pontuações para cada par (gênero, subgênero) são inicializadas com o mesmo valor (0,5). Essas pontuações são atualizadas implicitamente à medida que os usuários desempenham ações assistindo a TV.
Neste trabalho, empregamos o algoritmo de aprendizagem paramétrica apresentado em (Ardinosso et al., 2004). O algoritmo é centrado em duas equações básicas de atualização:
(1) new_prob = (prev_prob * prev_exper + learn_rate) / new_exper; (2) new_prob = (prev_prob * prev_exper) / new_exper;
onde:
learn_rate é a taxa de aprendizagem da ação observada;
prev_prob é a probabilidade do item (formado pelo par gênero e subgênero) no
contexto considerado, antes da ação executada;
prev_exper é a experiência no contexto, antes da ação executada;
new_exper = prev_exper + learn_rate é a nova experiência no contexto;
A equação (1) é usada apenas para o par (gênero, subgênero) sobre o qual a ação que está sendo executada. A equação (2) é usada para todos os demais pares. O uso das equações em conjunto permite que o par sobre o qual a ação está sendo executada aumente de valor, enquanto os demais pares têm o seu valor diminuído.
É importante observar também que a taxa de aprendizagem (learn_rate) é diferente para cada tipo de ação que pode ser desempenhada pelo usuário. As ações básicas disponíveis no MyPersonal-EPG são: assistir a um programa, aceitar uma recomendação sugerida pela aplicação e inserir um programa no quadro de programas selecionados. Várias outras ações são relevantes em um ambiente de TV Digital como, por exemplo: requerer informações adicionais acerca de um programa (o que poderia ser feito buscando por informações na Web), gravar um programa ou ainda avaliar um programa ao qual o usuário assistiu, mas tais ações ainda não são possíveis na versão atual da aplicação. Quanto maior a relevância da ação do usuário, maior deve ser a taxa de aprendizagem para tal ação. Assistir a um programa de um determinado par (gênero, subgênero) é bem mais indicativo do que simplesmente pedir informações adicionais
sobre ele e isso é refletido na taxa de aprendizagem. Os valores adotados para a taxa de aprendizagem (learn_rate) no MyPersonal-EPG foram: 1, para assistir a um programa; 0.4, para aceitar uma recomendação sugerida; e 0,6 para inserir um programa no quadro de programas selecionados. Esses valores são parâmetros definidos por quem desenvolve o sistema de recomendação, de acordo com a importância subjetiva das ações.
Outro aspecto que deve ser levado em consideração no desenvolvimento de um sistema de recomendações baseadas em conteúdo é o grau de confiança nos modelos empregados. O modelo dinâmico do usuário usado no MyPersonal-EPG melhora a qualidade de suas predições à medida que a quantidade de ações tomadas pelos usuários aumenta. Dessa forma, é necessário que exista um número mínimo de ações para que o sistema comece a produzir recomendações. A confiança no modelo é estimada pela seguinte função:
(3) onde:
k é um parâmetro que indica a quantidade de ações necessárias para que a
confiança chegue ao valor de 0,5. Somente quando o valor da confiança chegar a 0,5, o sistema começa a produzir recomendações. Na faixa de confiança entre 0,5 e 0,7, o sistema só indica programas de pares (gênero, subgênero) com pontuação igual ou superior a 0,8. Quando a faixa de confiança supera 0,7, o sistema passa a sugerir também pares com pontuação entre 0,7 e 0,8. O valor empregado para k no MyPersonal-EPG é 30.
s define o quão rápido a função evolui. O valor empregado no MyPersonal-EPG
é 0,1.
Para ilustrar o funcionamento do sistema, vamos imaginar que um usuário, no contexto: dia da semana – domingo e horário – noite, tomou as seguintes ações: assistiu a 2 telejornais (gênero – Jornalismo e subgênero – Telejornais), a 2 programas de auditório (gênero – Variedade e subgênero – Auditório) e 1 programa de turismo (gênero – Informação e subgênero – Turismo). Usando as equações (1) e (2), temos a evolução, apresentada na Tabela 3, das pontuações dos subgêneros (os demais pares estão sendo desconsiderados no exemplo). As ações possíveis foram mencionadas na página anterior.
Tabela 3. Exemplo de evolução das pontuações no sistema de recomendações Par / Ação Início 1ª ação 2ª ação 3ª ação 4ª ação 5ª ação
Jornalismo/Telejornais 0,5 1,0 1,0 0,66 0,50 0,40
Variedade/Auditório 0,5 0,0 0,0 0,33 0,50 0,40
Informação/Turismo 0,5 0,0 0,0 0,0 0,0 0,20
Confiança 0,047 0,052 0,057 0,063 0,069 0,076
Para efetivamente produzir as recomendações, as pontuações (exibidas na tabela) são normalizadas para o intervalo [0,1]. As recomendações são então produzidas e exibidas no quadro de recomendações do MyPersonal-EPG. Elas são exibidas ordenadas pelo valor da pontuação normalizada. As recomendações explícitas (as que são produzidas quando o usuário seleciona explicitamente uma categoria) são exibidas no topo da lista.