Pergunta

Eu tenho um banco de dados de artigos que serão indexados por Lucene, classificados pela tag dos usuários e mahout.Os artigos terão uma determinada pontuação para a tag (o usuário pode concordar ou discordar de uma tag, as tags descobertas por mahout serão tratadas da mesma forma que o usuário).

Eu quero descobrir o interesse do usuário (talvez interesse para uma determinada tag) do histórico de perfil e interação.

Como posso armazenar o interesse dos usuários? E como posso usar o interesse dos usuários para classificar ou filtrar para o resultado da pesquisa?

é minha abordagem possível?Viável?Escalável?
. Que tipo de técnicas e algoritmos eu posso usar?Por favor, sugira!

Foi útil?

Solução

Isso soa principalmente como um problema de pesquisa, não um problema de recomendação. Você está classificando principalmente e filtrando os resultados da pesquisa, com base em tags. Como tal, acho que Lucene é geralmente a ferramenta para implantar, não mahout. (Embora o uso de classificadores de mahout para aprender tags esteja certo.)

Se você realmente quiser imaginar isso como um problema de recomendação, posso dizer que seus itens são as tags. Toda vez que você interage com uma tag, como exibir uma página marcada x, y e z, que indica que você está um pouco mais interessado em "itens" x, y e z. e, em seguida, o problema de recomendação aqui é sugerir novas tags de interesse.

Você poderia tentar usar uma contagem simples de interações com uma tag como uma "classificação" numérica, embora eu acho que isso não dará ótimos resultados em um contexto de recomendação. Usar o log da contagem é melhor, mas ainda sinta errado. Você poderia ignorar a contagem de interações e usar o fato de que o usuário e a tag já interagiram, ou não - "Preferências booleanas".

O modelo de algoritmo de recomendação que melhor corresponde a essa entrada, que eu sei, é o modelo de mínimos quadrados alternados que você vê em paralelalsfactorizaçãoJob. Eu não sei se isso é útil para você, mas esse é o algoritmo que eu investigaria se você tiver tempo e inclinação. Sua entrada é mais como uma "força de interação" não uma classificação, e a trata dessa maneira, e é isso que você tem aqui.

Outras dicas

Muitas vezes é mais fácil apenas tornar o usuário explicitamente dizer quais tags estão interessadas. Isso é o que o estouro de pilha faz, por exemplo.Você pode aumentar a pontuação por alguma quantia se a tag estiverem interessadas.

Se você quiser fazer algo mais implícito, o Mahout tem um FAQ na recomendação.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top