Regarding the recommendation mechanism

What a quick one "if user A and user B are like product C, they may be interested in following each other." I don’t think that calculating their similarities at runtime is smart enough because it will slow down the answer. On the other hand, calculating the overnight index will require creating (N * N-1) different runs, where N is the number of users ... not very smart. In addition, every time a user likes a new product or a new user register, the indices must be recalculated.

What is the smartest thing that can be applied here? Some kind of ultrafast hashing to which only new items are added?

+4
source share
2 answers

Well, among the algorithms I studied on a course at Uni, there was one dealing with such things. Their recommended approach was to calculate the affinity index for each pair of users (which I think is your N * N method), and then based on this, determine which users are the closest user to.

Of course, you do not need to immediately recalculate the similarity indices for each change, only once in a while, while the search robot works. In fact, once you have calculated the starting index, you can use various heuristic methods to re-compromise for users who quickly change their preferences and much slower for those who rarely change them.

0
source

Have you thought about the RDF database? Like OWLIM http://www.ontotext.com/owlim

0
source

Source: https://habr.com/ru/post/1392434/


All Articles