0

We are trying to use PredictionIO (ver. 0.9.5) + Universal Recommender (v. 0.2.3) for building personal recommendations for users of our service. EventServer is collecting events about user's rating of items in MySQL database, Recommender's retrain runs by scheduler and storing personal recommendations to ElasticSearch. At beginning and some later trains, recommender's response looks nice with many items, but after a while, count of recommendations begins to decline. We looked at the data in the ElasticSearch: items exists, but their properties are erased. We would like to know why that can happen?

Example of our engine.json in attach: engine.json

Thanks in advance!

EVO
  • 1
  • 2
  • What have you tried so far? Stack Overflow is for helping with problems for *existing* code, not for writng code solutions for free. – cramopy Mar 28 '16 at 09:39
  • I'm sorry, but I'm not asking to write code - we have it! The issue is the PIO configuration (the current configuration which is represented in the file by the link in question). – EVO Mar 28 '16 at 15:02

1 Answers1

0

The item will not be written to Elasticsearch if there are no events for it in the EventServer. Are you erasing data in the EventServer between training times? Or starting from all new data, dropping the old?

If you once had events, an item will be written to Elasaticsearch, but if later there are no events it will disappear because the Elasticsearch index is replaced on every train. The EventServer is meant to accumulate data over time, not to be erased before every train.

BTW you should upgrade to the new PredictionIO v0.9.6 and Universal Recommender v0.3.0. These must be upgraded together and taken from these repositories.

https://github.com/actionml/PredictionIO

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

pferrel
  • 5,673
  • 5
  • 30
  • 41
  • First of all, thanks for the reply! No, we do not erase data between training times. Trains By scheduler starting script with two commands: - pio train - pio deploy Today I'm try upgrade versions of PIO (to 0.9.6) and Universal Recommender (to 0.3.0). Besides, I'm replace MySQL to PostgreSQL as storage for EventData and ModelData. The metadata store remained Elasticsearch. First training complete successfully. I hope that in future problems will not arise. – EVO Apr 11 '16 at 16:37
  • Upgraded PIO+Universal Recommender works well, but after some time (~3 days) anyway count of items in recommendations becomes empty. Could this be due to the small number of new events in our site? – EVO May 11 '16 at 08:55