quarta-feira, 26 de dezembro de 2018

Como tomar decisões?


Imagine-se numa encruzilhada tendo que escolher qual caminho seguir (e não poder ficar parado).
Como você toma esta decisão?




Intuição

Se você não tiver dados sobre os caminhos possíveis, pode usar a intuição ou “voz interior”. A superstição também ajuda, porque você pelo menos não ficará parado.

Heurísticas

Heurística é uma regra R que funcionou bem para resolver um problema P. Então uma regra R2 (semelhante mas não necessariamente igual a R) poderá resolver um problema P2 (semelhante a P).
Isto significa resgatar as suas experiências anteriores, comparar problemas e soluções. Talvez seja necessário adaptar uma solução anterior (criar uma nova).
Funciona também como analogia. Por exemplo, em situações semelhantes anteriores, qual caminho você escolheu ? Como julgou ou comparou as alternativas disponíveis?

Observação e imitação

Fique observando o comportamento dos outros. Que caminhos escolhem ?
Você pode seguir a maioria (sabedoria das massas ou multidões).
Mas seria bom tentar entender por que alguns tomam um caminho e outros escolhem outro. Que variáveis associam uma pessoa a uma escolha ?

Experimentação

Você pode experimentar um dos caminhos e, se não gostar ou não der certo, voltar e tentar o outro. Isso é tentativa e erro. Há um custo (ir e voltar). E talvez você não possa voltar. Então, nem sempre se pode usar esta técnica.

Simulação

Com os dados que você coletou sobre a situação toda, construa um modelo teórico e o avalie teoricamente.
Com este modelo, simule o que aconteceria se você escolhesse cada um dos caminhos possíveis (“E se eu fosse por aqui ... o que poderia acontecer?”).
Pense de forma sistêmica, ou seja, procure entender tudo o que está envolvido. Por exemplo, o que há em cada caminho e também o que há envolta de cada caminho.

Análise estatística

Se você tiver dados históricos sobre como os caminhos já foram percorridos e os resultados obtidos, faça correlações entre variáveis e o resultado final.
Você precisará amostras significativas para não deturpar a análise.

Previsão

Se tiver histórico e um modelo, poderá tentar prever o que pode acontecer no final de cada caminho.
Avalie custos e benefícios de cada opção.
Pode usar uma matriz com multicritérios ponderados, para compara numericamente cada opção.

Combinação de técnicas

Intuição e heurísticas podem ajudar a descobrir que variáveis devem ser analisadas pela análise estatística (ou que dados coletar).
Observação pode ajudar a montar modelos e fazer simulações.
A análise estatística dá base para as previsões.
A experimentação pode ajudar a coletar dados iniciais.


segunda-feira, 17 de dezembro de 2018

Evolução dos sistemas de recomendação


Sistemas de recomendação têm por objetivo indicar as melhores opções ou alternativas mais adequadas em uma determinada situação, utilizando técnicas estatísticas, sabedoria das massas, raciocínio lógico, análise de histórico, formação de perfis, tudo isto para predição do futuro, ou seja, o que é melhor para cada pessoa.

A grande vantagem é diminuir a sobrecarga de informações. Quando a gente tem muitas opções e não tem condições de comparar todas, os sistemas de recomendação entram em ação.

A divisão a seguir em etapas foi criada por mim com base na minha experiência e nas leituras que tenho feito ao longo de minha carreira.

Recomendação 1.0

Baseada na associação de palavras.
O exemplo representativo são os resultados orgânicos e os links patrocinados nos mecanismos de busca (no Google, são as técnicas Ad Words e Ad Sense).
A ideia é apresentar uma ou poucas sugestões dependendo das palavras utilizadas pelo usuário. Assim, se alguém coloca “cadeira para escritório” numa busca no Google, o Google apresenta as páginas (URLs) que pagaram para aparecer no topo para estas palavras (links patrocinados) ou páginas que possuem melhor pontuação nos critérios para os resultados orgânicos (ver técnicas de SEO – Search Engine Optimization).
No Gmail, isto também funciona. Basta analisar os termos utilizados nos e-mails enviados ou recebidos. No Facebook, são os termos que aparecem nas postagens. No Youtube, são os termos dos títulos e resumos. Hashtags também podem ser utilizadas.
Uma variação da técnica é incorporar sinônimos e stemming (redução de palavras a radicais) para ampliar as opções e melhor entender o contexto.

Vantagens: técnica fácil de ser implementada.
Desvantagens: a lógica ou fundamento da recomendação está na associação ou nos critérios que especialistas humanos criam ou definem.

Recomendação 2.0

Baseada em estatísticas sobre dados que vêm da sabedoria das massas e da média do comportamento das pessoas.
Incluem técnicas como Top N (mais vendidos, mais lidos, mais visitados, etc.) e vendas cruzadas (“quem comprou isto, também comprou aquilo”).

Vantagens: a complexidade de implementação é média. As associações vêm de Data Mining. O cálculo da média precisa de uma amostra razoável para ser confiável. Não precisa de conhecimento prévio da pessoa que irá receber a recomendação.
Desvantagens: exibe o mesmo resultado para todos.  

Recomendação 3.0

Baseada na personalização, ou seja, coleta e analisa o perfil ou histórico das pessoas.
Estas técnicas levam em consideração o que as pessoas fizeram ou estão fazendo. Desta forma, o resultado é individual, ou seja, diferente para cada pessoa.
Por exemplo, ao fazer uma pesquisa na Internet usando o termo “Madonna”, alguns receberão resultados sobre a artista, outros sobre uma Universidade e outros sobre Nossa Senhora.
A técnica mais conhecida é a “baseada em conteúdo” (content-based). A ideia é classificar usuários de acordo com suas ações, o que refletiriam seus gostos ou interesses. Os itens (produtos, sites, livros, restaurantes, etc.) também devem ser classificados usando o mesmo esquema de classes. Depois basta cruzar classes de itens com as classes que mais aparecem no perfil de cada usuário (matching), montando um ranking por pontuação.
Os perfis podem ser dinâmicos, incluindo uma pontuação para cada classe, a qual pode aumentar ou diminuir com o tempo e com as ações.

Vantagens: cada pessoa recebe sugestões específicas sobre seu interesse, mesmo que duas pessoas usem os mesmos termos de busca.
Desvantagens: cria estereótipos; por exemplo, se alguém só escuta músicas de Jazz, só receberá recomendações desta categoria.

Recomendação 4.0

Baseada na filtragem colaborativa.
Esta técnica foi criada pelo grupo de pesquisa dos  americanos Joe Konstan e John Riedl (in memorian). Usaram o site Movielens, sobre filmes, para fazer os testes.
A ideia é comparar pessoas, seja por seus atributos ou por seu histórico de ações. As recomendações seriam feitas de forma cruzada. Assim, se a pessoa A é semelhante à pessoa B, seus gostos também devem ser semelhantes. Então os itens associados a A (por exemplo, produtos adquiridos) são recomendados a B, e vice versa.
Uma variação é incorporar também as avaliações (ratings), onde cada usuário informa se gostou ou não do item associado ao seu perfil.

Vantagens: permite gerar recomendações fora do perfil do usuário, sem que seja spam ou aleatórias.
Desvantagens: precisa de informações prévias (montar o perfil de cada usuário); não leva em conta o que cada pessoa realmente precisa ou quer.

Recomendação 5.0

Baseada na predição de intenção ou desejo.
A ideia é descobrir a intenção ou necessidade da pessoa, ou seja, tentar prever o futuro (o que ela quer ou deseja).
Pode ser feita pela análise de contexto de palavras ou da sequência de ações da pessoa. Deve utilizar modelos de predição.

Um exemplo: duas pessoas conversando por chat.

P1: Ontem eu vi um show antigo dos Beatles.
Rec1.0 vai recomendar um vídeo qualquer dos Beatles no Youtube.
Rec2.0 recomenda o vídeo dos Beatles no Youtube com mais “likes”.

P2: Legal, esses caras eram bons. Mas eu prefiro rock mais atual, tipo Coldplay.
Rec2.0 recomenda o vídeo mais visto do Coldplay no Youtube.
Rec3.0 recomenda o vídeo mais visto do Colplay no Youtube, que ainda não foi visto por P2 e P1.
Rec4.0 recomenda a P1 vídeos que P2 viu e gostou, e recomenda a P2 vídeos que P1 viu e gostou.
Rec5.0 avisa que Coldplay estará fazendo show perto da cidade deles daqui a 6 meses, e ainda indica os valores de ingressos tipo pista (que eles costumam comprar)

Vantagens: minimiza o esforço mental para usuários terem que pensar, procurar informações e tomar decisões.
Desvantagens: precisa muitas informações para fazer inferências, muitas vezes sendo invasivos demais; os modelos de predição ainda precisam ser aprimorados para não errar demais, senão perderão a confiança do usuário.