M
M
Miraxek2016-11-17 18:42:03
PHP
Miraxek, 2016-11-17 18:42:03

How to implement a recommendation system on the site?

Good afternoon!
The situation is this: there is a site with N number of users, and there is M number of homogeneous evaluated objects. Well, let's say the rating of the series. The recommender system must process the data and, based on how and what you rated and on the basis of how and what users rated, offer you a series that you are likely to like.
I understand how the recommender system works, how to analyze, say, a table with serial columns, user rows, it’s clear, there are algorithms.
But how to arrange it on the site and implement it?
That is: there is a database database (MySQL), there is a table like User_rating, where the column is id_user and the id_serial column and the value_rating column. Well, the date. But we need a table of a completely different type, where in the rows - the user's id, and in the columns - the id of the series, and on their crosshairs the value of the assessment. To begin with, as far as I understand, you need to solve this problem.
I see so far only one option - to make an additional. table and when adding a new series to the database, add a column. But it looks too crutch and slow.
I read about noSQL, as far as I understand it seems to solve the problem, but I'm not sure, and I didn't find any examples on the Internet.
This is the first question.
And the second question - even if, say, we have received this table. I open the "recommendations" page, where I expect a list of series that are most likely to suit me. Upon transition, we run the python script for analysis. But he does not calculate it in a split second, especially with a large number of people and TV shows. And we sit waiting for loading. Well, apparently it doesn't work that way. Here in it and a question. Maybe make an additional table in which to enter the values ​​​​of what we expect users to like, and update it every time someone evaluates the series, but this is also very long.
The question is, are there any solutions? After all, this is exactly how movielens works, and apparently there should be some solutions on the Internet, well, it seems to me more precisely.
If there are none, maybe you can help with an idea. Or am I missing something and just need to delve into the topic
Thanks in advance!

Answer the question

In order to leave comments, you need to log in

1 answer(s)
A
al_gon, 2016-11-17
@Miraxek

With sql in this case, everything is not easy.
Join through Join Join'om drives, with dynamic filters it's not fun.
Have you looked at neo4j?

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question