Expanding the base for collaborative filtering

    The idea of ​​collaborative filtering is simple and elegant - based on a list of user preferences, the system searches for people with similar preferences, compares the lists and gives recommendations for replenishing them. The word "preference" does not quite fit here, usually the list contains the names of objects of any content type - books, music, films. But if you say a blog platform or social network is looking for friends? Then, the list of user interests indicated in the profile, tags to his posts, the list of existing friends, etc. can serve as elements of the list. If you set a goal to maximize the scope of collaborative filtering, then two questions arise: what, in principle, can be an element of the list and which in principle can stimulate the user to create these lists.

    Regarding the first, in my opinion, the maximum abstraction in the Metaweb project was achieved with their Freebase database , recently bought by Google. This database is a graph, the nodes of which are arbitrary entities or objects — people, places, things, organizations ... There, for example, at the request of “site owner” it is displayed: “this is the entity that owns and / or manipulates the site” ( A website owner is an entity that owns and / or operates a website ). Web sites themselves are also entities. They are also interests, topics, concepts. A user who would list all of these objects in his personal “megaslist” would provide a wealth of information for analysis in collaborative filtering systems.

    To the question (second) why should he do this, recommendation services like imhonet answer simply - the user understands that after creating the list he will be advised something useful. But in this case it will not work - the list will be too huge (for that matter, my first and last experience with imhonet's literary department alone was tedious - I just got tired of listing books).

    A possible solution is the “Like” button, which can be pressed when you hover over a selected object, for example, when selecting a word from text. Or in a more advanced form with some kind of visual recognition of objects in the real world using smartphones. I saw a girl, clicked Like. This activity is not very stressful and not one-time, you accumulate your list of like-objects gradually, in the process of surfing the Internet and familiar places. Although I personally like the verb "friend" more. If we are friends, then why not friends?

    Another possible option is to combine communication with the creation of graph databases of the type mentioned. In this case, posts and comments will also become objects of a common network and users will generate connections between objects in the process of habitual activity such as communication and networking. Those. this has nothing to do with collaborative filtering, but some of these relationships will be useful in terms of its application. I am promoting this type of service .

    Also popular now: