DETERMINE RECOMMENDATION SYSTEMS TO SEARCH FOR BOOKS BY PREFERENCES OF WEB USERS

Currently, the question of state, formation and development of the information source interaction system, the scientific interaction and users' requests in certain fields of activity remains relevant under the conditions of the development of the use of Internet services. Recommendation systems are one of the types of artificial intelligence technologies for predicting parameters and capabilities. Due to the rapid increase in data on the Internet, it is becoming more difficult to find something really useful. And the recommendations offered by the service itself may not always correspond to the user's preferences. The relevance of the topic is to develop a personal recommendation system for searching books, which will not only reduce time and amount of unnecessary information, but also meet the user's preferences based on the analysis of their assessments and be able to provide the necessary information at the right time. All this makes resources based on referral mechanisms attractive to the user. Such a system of recommendations will be of interest to producers and sellers of books, because it is an opportunity to provide personal recommendations to customers according to their preferences. The paper considers algorithms for providing recommender systems (collaborative and content filtering systems) and their disadvantages. Combinations of these algorithms using a hybrid algorithm are also described. It is proposed to use a method that combines several hybrids in one system and consists of two elements: switching and feature strengthening. This made it possible to avoid problems arising from the use of each of the algorithms separately. A literature web application was developed using Python using the Django and Bootstrap frameworks, as well as SQLite databases, and a system of recommendations was implemented to provide the most accurate suggestion. During the testing of the developed software, the work of the literature service was checked, which calculates personal recommendations for users using the method of hybrid filtering. The recommendation system was tested successfully and showed high efficiency.

Introduction. The beginning of the XXI century is a period of continuous increase in the number information and technology development. The World Wide Web provides everyone access to search engines, directories, various web services, thereby provides a comfortable life for each user. Many literary services provide user access to reading books online. Everyone can find the right book, read it and add to your library. Due to the rapid increase in data on the Internet, it is becoming more difficult to find something useful. However, the recommendations offered by the service itself are not always can match the user's preferences. Fortunately, information-filtering systems offer an excellent solution to this problem.
The relevance of the topic is to develop a personal a recommended book search system that will not only reduce time costs and the amount of unnecessary information, but will match the user's preferences based on the analysis of their assessments and will be able to provide the necessary information in the right time. All of this makes resources based on referral mechanisms attractive to the user. Such recommendation systems will interest producers and sellers of books, because it is an opportunity to provide personal recommendations to customers according to their preferences. Recommendations will be based on user's preferences using hybrid systems, which is what it is novelty of this work.
Thus, the purpose of the study is to analyze and determine the recommendation systems and the creation of a literary web application based on the combination of recommendation systemscollaborative and content filtration, which is for the first time for literary services.
According to the work aim it is necessary to solve the following tasks:  description of the recommendation system and ensuring its effectiveness;  selection and modification of the method for developing a recommendation system based on the analysis of literature sources;  implementation of the selected recommendation system for program realization;  development of literary service software. Literature Review. Recommendation systems have been introduced to meet the needs of the user and save searching time for the literature he needs [1].
The author [8] described in his work the methods of calculating recommendations for content and collaborative filtering, as well as named their advantages and disadvantages. And Amir Salihefendic in work [9] raises the issue of ranking objects, which partially avoids the problem of cold start.
Based on research, researchers [10,11,12] concluded that collaborative filtering is much more satisfying to the needs of users than content.
Recommendation systems (RS) are used both in the commercial [13] sphere and in the entertainment [14]. The study of RS in the music field was started in 2010 by [6]. Later, works were written [15,16], which collected a description of various concepts and methodologies for such subject areas as data analysis, decision-making systems, news and marketing.
In [17], the authors reviewed 26 articles and found that in most cases, the recommendation systems use the Baew approach or the tree-based approach for movies, music, news, and products for web stores.
Xiang Li [18] proposed a multidimensional contextsensitive RS method to improve the random forest algorithm. Xibin Wang [19] uses a method to determine user preferences based on their interests in the field of films. And Mladen Marovic [20] compares methods for predicting movie ratings for users.
In the article [21] was investigated that to avoid problems of content and collaborative filtering is used their combinationhybrid recommendation systems. The first hybrid recommendation system combined two methods of recommendations to achieve excellent performance with a slight deficit of any individual [22].
In the work [21] are described different types of hybrid systems. The [23] considers hybrid systems based on probabilistic methods, such as neural networks, Bayesian networks, clustering, hidden features (eg, SVD), genetic algorithms.
Research on recommendation systems has been developing rapidly in recent years, which confirms their relevance and the need for further research. The use of hybrid approaches is not limited to the use of a single method of combining algorithms. If necessary, it can be used several hybrids in one system. And the area of reference systems of literature is insufficiently studied. Therefore, in this paper is used several hybrids in one system to predict the books rating for users.
The main problem in literary recommendation services is "cold start"after registration, the user is provided with incorrect or no books for familiarization. In this article, it is recommended to come to a combination of recommendation systems by switching and enhancing features that will solve the problem of "cold start" and provide more accurate recommendations.
Methods. To predict the parameters and capabilities is used artificial intelligence technologies: recommendation systems, expert systems and decision support systems [24].
Expert systems are narrowly focused: they provide recommendations, analyze, classify and solve problems through the examination of a human specialist [25].
Вісник Національного технічного університету «ХПІ». Серія: Системний аналіз, управління та інформаційні технології, № 2 (6)'2021 75 Decision Support System (DSS) is an interactive computer automated system (software package) designed to help and support various human activities in making decisions about solving structured or unstructured problems. The use of DSS provides a thorough and objective analysis of the subject area in decision-making in difficult conditions [26].
A recommendation system (RS) is a subclass of an information filtering system that builds a rating list of objects (movies, music, books, news, websites) that a user can prefer. The recommendation system generates a list individually for each user of the system based on a preliminary analysis of the user profile: gender, age, books reviewed, grades, etc. [25].
Based on the analysis of the collected sources of information, conclusions were made about the advantages and disadvantages of existing technologies and it was decided that recommendation systems are best suited for the task of researching model tools for determining the preferences of web users.
RS is a replacement for search algorithms, as RS finds objects based on the analysis of previous data, at a time when another system may not even offer the right one.
There are the following main approaches in creating RS ( fig. 1) [27]: 1) collaborative filtering; 2) content-based filtering; 3) hybrid filtering. Collaborative filtering (CF) is a method of recommendation that analyzes only the reaction of users to objects: the ratings that users make to objects. Estimates can be either explicit (the user explicitly indicates how many "stars" he evaluates the object) or implicit (for example, the number of openings per book). The more estimates, the more accurate the recommendations will be. This helps users filter objects. Therefore, this method is also called joint filtering [28].
Content filtering or content filtering is based on information about system elements that the user has already evaluated in the past. This method analyzes data about the properties of objects, such as genre, author, publisher, and so on. The system can also use data on views and evaluations of items. The content of this method is that elements with similar content, users provide similar benefits [10].
Recommended systems, which are based on collaborative filtering, in contrast to content-based filtering, analyze user data for their work, not system elements. Each user is assigned a group of users with similar preferences. Based on this, it is hypothesized that users who have rated some objects in the past will evaluate other objects in the future in the same way [29].
One of the main problems of RS is the Cold-start Problem (CSP). It occurs when new elements appear in the systemeither new users (User Cold-Start), whose preference history is empty, or new objects (Item Cold-Start), which do not yet have ratings and / or a set of features [21].
No less important problem of the recommendation system is the problem of the bubble filter. Classic recommendation systems offer users objects based only on their previous preferences. As a result, the user finds himself in an information environment in which he observes only a limited number of objects of the same type. The next problem is the considerable amount of information that complicates the situation. For example, some people are predictable and others are unpredictable, which can lead to inaccuracies and ineffective results in the recommendation system. Another problem can be considered scalability: the more data, the more difficult it is to find an accurate result [21].
Analyzing all the considered literature, it was decided that none of the methods is effective alone for creating recommendation system for program realization of literary service software.
To use the strengths of different methods, as well as to avoid the shortcomings of each of the algorithms, a hybrid RS was created ( fig. 2).
Hybrid recommendation systems include: 1) Weighted: each of the algorithms is assigned a weighting factor, then a linear combination of ratings is calculated for each of the objects. For example, collaborative and content filtering types have been combined. In this case, a list of recommendations will be provided, which will list the books that were relatively highly rated by both methods.
2) Switching: choosing one option among the components of the recommendations depending on the circumstances. This approach allows, for example, to solve the problem of "cold start", which is one of the weaknesses of the method of collaborative filtration. For a "cold user" whose benefits are unknown to us, we can use to recommend the most popular documents or prepare a "universal" set [30].
3) Mixed: simultaneous use of the recommendation of different algorithms. Suppose we have several systems of recommendations that we would like to combine. In this case, you can set the mixing rules, and then show the user all the recommendations, alternating them. This method is suitable when the sources of recommendations for us act as black boxes. It does not require the objects rating calculation [31]. 4) Cascade: The recommendations are given clear priority, with the lowest priorities breaking the links in winning the higher ones [31]. For example, using content filtering, we weed out books that don't interest the user at all. And then, using collaborative filtering, we form a list of recommendations from the remaining books. 5) Feature combination: adds characteristics of the second to the first method. For example, we obtain recommendations based on contextual filtering, using such characteristics as title, author, genre, and supplement the list of characteristics through collaborative filtering. 6) Feature augmentation. This approach is similar to the previous one. In it is possible to allocate the basic and additional algorithms. But, unlike combining features, we do not add new features, but complement the values of existing ones [33]. For example, we will take collaborative filtering as a basis, and recommendations on the basis of content as an additional algorithm. This helps to avoid the problem of sparseness.
Hybridity is the combination of the results of two different approachescontent-based filtering and collaborative filtering. This can, to some extent, avoid the disadvantages of the above approaches. There are several basic options for combining filtering approaches [32]: -Inclusion of characteristics of elements in collaborative filtering. The recommendation system primarily uses collaborative filtering, including some data on the elements used to find the degree of similarity of users.
Benefits: increasing the relevance of recommendations; avoiding the problem of "cold start" and sparse data; taking into account the preferences of the user in the direction of the literature.
-Inclusion of user characteristics in content filtering. The most well-known method for implementing this approach is to reduce the dimensionality of profiles that use content filtering. One such method uses latent semantic analysis (LSA) to create collaborative user profile content. This approach is much more effective, as the recommendations are built not only due to the similarity of the elements [32].
-Construction of a single model based on collaborative filtering and content filtering. This approach is the most popular in the use of a hybrid system of recommendations. The essence of the algorithm is that the PC uses collaborative and content filtering simultaneously. It also helps to avoid the problem of "cold start" and sparse data and allows you to recommend elements not only for similar tastes, but also for your favorite genre or author.
The use of hybrid approaches is not limited to the use of a single method of combining algorithms. If necessary, it can be used several hybrids in one system. The proposed architecture of the hybrid RS is presented in fig. 2 [33].
There are two elements of a hybrid recommendation system: 1) Switching: for a new user, the system recommends recommendations for popularity, because it does not know its benefits and tastes.
2) Feature strengthening: if the user has already used the given literary service and has exposed estimations, the system forms for it recommendations, using the basic algorithmcollaborative filtering. But in order for the user to receive not only recommendations on similar grounds with other users, they use an additional algorithm recommendations on the content that will provide the user with recommendations and on the basis of the elements evaluated by him in the past. Fig. 2. Architecture of the recommendation system Thus, the problems of "cold start" and sparse data for a new user, is solved by switching. As an algorithm for the new user, it was no coincidence that the recommendations on popularity were chosen: no additional information is required to calculate them, it is enough to evaluate the data on orders that are already available.
Each method has a separate function that builds the rating of books based on the deduction of the recommended weight and degree of proximity. Thus, we have the following algorithms for applying the hybrid system of recommendations: Content filtering algorithm: 1) For each element, similar in characteristics (genre, year, author, etc.), the calculation of weights is performed using a measure of similarity:  (1) where us rthe estimated rating of the s object for the u user; U'a set of users who have rated the s object and belong to the same group with the u user; kparameter for normalization, which is calculated for the formula 1 sim , uU k uu      2) Next, from the list of objects, a group of elements is formed that are most similar to the object calculated on the basis of weights.
3) Finally, the projected rating of objects is formed using the method of similar elements evaluation: 2) Form a group of the most similar users in relation to this user.
3) To form the forecasted rating of object, analyzing estimations of each of users from the previously formed group of users: Hybrid filtration method: 1) For each of the filtration methods described above, determine the weights. To do this, set the following system of equations: where x is the number of user ratings in the system. And the values change dynamically depending on the available estimates.
2) The resulting projected rating of objects is formed: Thus, in the work for the first time it is proposed to use a combination of collaborative and content filtration for literary services, which provides new users based on the assessment of one book to obtain a more accurate recommendation for receiving references to the following books.
Results. The operation of the system is given in the form of a sequence diagram in fig. 3. In this case, the sequence diagram showing the main precedents of the literary service is the basis for software design.
In order to obtain literature, the following inputs are required: user information that helps avoid the problem of "cold start", book information and user assessment information. The system uses the recommendation algorithm, takes into account the service requirements and provides personal guidelines for the user.
To implement the recommendation system, a hybrid algorithm, which combines two methods: a collaborative on the basis of neighbors and content filtration ( fig. 4) was chosen.
The algorithm consists of six major stages; on which we must receive books for the end user. The algorithm input provides information about books, user and estimates that have left users with these books. Next, the algorithms of content and collaborative filtration are performed, with which we receive lists of similar elements and similar users. And in the end, a list of recommendations is formed.
To check the work of this literary service and recommendation system, a matrix fragment of users and their ratings is given (table 1), where 5 is the highest rating.
For the user Igor, calculating the degree of proximity according to the formulas (1), (3), a set of neighbors is obtained and a similarity matrix is formed (table 2).
Expressions (2), (4) are used to predict the rating of the five new elements: multiply each user's score by the degree of similarity. The calculated sum of ratings of each book is divided by the sum of measures of similarity of the closest users are summarized in table 3.
Book1, Book5, Book8 and Book11 have already been rated by the user of the Games and it makes no sense to re-offer them to him. Book3, Book6, Book9books that are not included in the ranking of five books due to low coefficient.    To provide a set of book recommendations, the results are sorted in descending order and the number of books to display on the recommendation page is selected (in this case, five books will be displayed). Personal recommendations of the literature for the user Igor are entered in table 4. The results of testing the implemented system of personal recommendations in the developed web application for the user Igor are shown in fig. 5. In the event that a new user enters the system, the service analyzes his preferences on the basis of personal information and provides a list of recommendations based on it.
Conclusions. When the number of books provided by the electronic library is relatively large, it becomes difficult for the user to choose the right book. Thus, a solution to the problem is implemented and a hybrid algorithm is proposed, which is not just based on joint filtering and content-based algorithm, but also combines several hybrids. This approach helps to solve the problems of each type of filtration, in particular the problem of "cold start". During the testing of the developed software, the work of the literature service was checked, which calculates personal recommendations for users using the method of hybrid filtering. The recommendation system was tested successfully and showed high efficiency.
Discussion. The obtained results were checked on the work of the created literary service, namely books were uploaded to the service, accounts were created by real people and work on selection of the recommended literature on the basis of user preferences was started. Each user read several books and gave them a subjective assessment. The user also added his favorite genres to the settings, as a result of which personal recommendations were formed. As soon as the user read the book from the provided list and evaluated it, the list changed depending on the input data. Read books were not included in the list.
As a result of the experiment, recommendations were obtained for users that met their expectations and preferences.