2
$\begingroup$

I have some application which are offering a book to read. Users normally read some paragraphs of it only (it contains +6000 paragraphs).

Looking at scatter for users vs paragraphs: enter image description here

Which you can see is semi equal distributed. Using SVD algorithm for matrix factoize gives a semi random predictions. I have total of 18k records of user read paragraphs. Looking for users, it seems that a user is reading semi random set (i.e. it is hard to specify common topics for a single user readings)

Can you suggest me how to produce suggestions related to each user ?

$\endgroup$
1
$\begingroup$

You would have to come up with a metadata set of each paragraph and then create a content-based recommendation system based on that metadata. You could also do a community-based recommendation system if you have extensive user data.

As for the metadata set, you could use something like n-grams to "summarize" each paragraph and then have an index for each. From there, you would know what people like and then algorithmically choose the n-grams that person is most interested in and find the paragraphs that correspond to those n-grams.

$\endgroup$
  • $\begingroup$ So my data (18k) is not enough for CF? How much should be ? $\endgroup$ – FindOutIslamNow Oct 17 '18 at 11:22
  • $\begingroup$ @FindOutIslamNow what do you mean by CF? $\endgroup$ – I_Play_With_Data Oct 17 '18 at 13:03
  • $\begingroup$ I am just meaning "collaborative filtering" i.e. <b>community-based recommendation system</b> $\endgroup$ – FindOutIslamNow Oct 17 '18 at 13:20
  • $\begingroup$ @FindOutIslamNow Again, its all about what data you collect on your users. Community-based recommendation systems aren't about the depth of the data, it's about the width. You'd have to ask yourself if you've collected enough factors on your users to make it effective for an accurate algorithm. If the answer is "no" then you'd have to use a content-based recommender system. $\endgroup$ – I_Play_With_Data Oct 17 '18 at 15:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.