Algoritmo de sugestão do Noosfero

Rodrigo Souto rodrigo at colivre.coop.br
Wed Sep 28 16:40:07 BRT 2016


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Diga Tallys! Que massa que você quer mexer nisso.

O algoritmo não foi feito com base em nenhum material não, foi
basicamente pesquisas superficiais e mão na massa. Apesar de parecer
complexo, o algoritmo é bem simples.

A ideia é que existem "rules" que são basicamente critérios de sugestão.
Cada "rule" implementa um consulta sql que define quais pessoas sugerir
pra uma determinada pessoa. Porém toda "rule" precisa retornar uma
tabela dentro do seguinte formato:

profile_id | rule1_count | rule1_connections |
    12     |      2      |      {32,54}      |
    13     |      4      |   {3,12,32,54}    |
    14     |             |                   |

Onde rule1_count é o número de sugestões e rule1_connections são os id's
das pessoas para quem ela foi sugerida. A ideia de ter um formato
específico para os resultados é também para possibilitar que plugins
possam prover "rulse" próprias.

Por fim, o core junta todas essas tabelas em uma só e calcula o score de
cada pessoa sugerida com base em quantas "rules" ela foi marcada e no
peso da "rule". Atualmente todos os pesos são iguais, mas a ideia é
pensar em pesos inteligentes para elas.

  # profile_id | rule1_count | rule1_connections | rule2_count |
rule2_connections | ... | score |
  #     12     |      2      |      {32,54}      |      3      |    
{8,22,27}     | ... |   13  |
  #     13     |      4      |   {3,12,32,54}    |      2      |     
{11,24}      | ... |   15  |
  #     14     |             |                   |      2      |     
{44,56}      | ... |   17  |

Se quiser uma explicação mais aprofundada fala comigo.

On 28-09-2016 10:03, Tallys Martins wrote:
> Oi, pessoal!
>
> Alguém sabe me dizer em que algoritmo/material foi baseado aquela
> implementação do ProfileSuggestion? Estou realizando um estudo sobre
> algoritmos de recomendação para aplicar no Noosfero e preciso dessa
> informação. Procurei, mas não encontrei. :/
>
> Att
>
>
>
> _______________________________________________
> Noosfero-br mailing list
> Noosfero-br em listas.softwarelivre.org
> http://listas.softwarelivre.org/cgi-bin/mailman/listinfo/noosfero-br

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQEcBAEBCAAGBQJX7ByXAAoJEPU2263SCVRVSqUH/1fDR+ffyvhVw5nNue9hQxJb
4eUGJCdMRHl8FJdraqUmsnX8tlF4Csgv0DDSM9PSLjaZzYbPcWPSY062SyqoK+mh
g/kfyq6ybFm4RlDxGOovmm1vqCAwe5i746weXgLKyy0ViF/hc3TXaBV3O6lX6+2j
saBl824/OUB/p3AQ+E9xBlQfjXtIZ/UlzB9UHyINn6DrTSFaiybbyS8fq0H3ESFW
I50pcCp6jPimxKJ7YqQ7kut5CrOYtcHN3uYl1SAKGr+ynXXWBKAMDo6Gvz2XGKyQ
8oaki0q80N/7K+3idPnH8LsxyF22Lnx19Y2xWJ63YntwKWk9lvJzXO+bztlB2gY=
=133h
-----END PGP SIGNATURE-----

-------------- Pr?xima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.softwarelivre.org/pipermail/noosfero-br/attachments/20160928/31e033b0/attachment.html>


More information about the Noosfero-br mailing list