2016-03-28 1 views
0

Nous essayons d'utiliser PredictionIO (version 0.9.5) + Universal Recommender (version 0.2.3) pour créer des recommandations personnelles pour les utilisateurs de notre service. EventServer collecte des événements sur l'évaluation des éléments par les utilisateurs dans la base de données MySQL, le reconditionnement de Recommender est exécuté par le planificateur et le stockage des recommandations personnelles à ElasticSearch. Au début et quelques trains plus tard, la réponse du recommandeur semble bien avec de nombreux articles, mais après un certain temps, le nombre de recommandations commence à diminuer. Nous avons examiné les données dans ElasticSearch: les éléments existent, mais leurs propriétés sont effacées. Nous aimerions savoir pourquoi cela peut arriver?La réduction du nombre de recommandations dans Prediction IO + Universal Recommender

Exemple de notre engine.json en attache: engine.json

Merci à l'avance!

+0

Qu'avez-vous essayé jusqu'à présent? Stack Overflow est pour aider avec des problèmes pour le code * existant *, pas pour des solutions de code d'écriture pour libre. – cramopy

+0

Je suis désolé, mais je ne demande pas d'écrire du code - nous l'avons! Le problème est la configuration PIO (la configuration actuelle qui est représentée dans le fichier par le lien en question). – EVO

Répondre

0

L'élément ne sera pas écrit dans Elasticsearch s'il n'y a aucun événement dans le EventServer. Etes-vous en train d'effacer des données dans le EventServer entre les heures d'entraînement? Ou à partir de toutes les nouvelles données, en laissant tomber l'ancien?

Si vous avez déjà eu des événements, un article sera écrit à Elasaticsearch, mais si plus tard, il n'y a aucun événement il disparaîtra parce que l'indice ElasticSearch est remplacé sur chaque train. Le serveur EventServer est destiné à accumuler des données dans le temps, à ne pas effacer avant chaque train.

BTW vous devriez mettre à niveau vers le nouveau PredictionIO v0.9.6 et Universal Recommender v0.3.0. Celles-ci doivent être mises à jour ensemble et extraites de ces dépôts.

https://github.com/actionml/PredictionIO

https://github.com/actionml/template-scala-parallel-universal-recommendation

+0

Tout d'abord, merci pour la réponse! Non, nous n'effaceons pas les données entre les heures d'entraînement. Trains Par script de démarrage de planificateur avec deux commandes: - pio train - pio deploy Aujourd'hui, je suis essayer des versions de mise à niveau de PIO (à 0.9.6) et Universal Recommender (à 0.3.0). En outre, je remplace MySQL par PostgreSQL en tant que stockage pour EventData et ModelData. Le magasin de métadonnées est resté Elasticsearch. Le premier entraînement s'est terminé avec succès. J'espère que dans l'avenir les problèmes ne se poseront pas. – EVO

+0

PIO + Universal Recommender mis à jour fonctionne bien, mais après un certain temps (~ 3 jours) de toute façon, le nombre d'éléments dans les recommandations devient vide. Cela pourrait-il être dû au petit nombre de nouveaux événements sur notre site? – EVO