# MovieDIRec: Drafted-Input-Based Recommendation System for Movies
## 1 Introduction  
Recently, various studies related to recommendation systems have been actively conducted. There are two main themes. The first is methods to solve the fundamental problems of the recommendation system such as the first rater, the cold start problem, overspecialization, and protection of user privacy [1; 2; 3], and the second is the improvement of the accuracy of the recommendation system [4; 5; 6; 7; 8; 9].  
Currently, various methods combining a DNN (Deep Neural Network) with collaborative filtering, content-based filtering, etc., including pure DNN-based methods, are being studied and advanced to improve accuracy [2; 10; 11; 12]. Most of the methods of recent research are methods of inferring preference trends using similar users, such as collaborative filtering, based on vectors embedding user-item interaction. In this case, the model learns the user-item preference distribution. However, since the data describing the item are limited to the embedding vector dimension, there is a tendency to generalize the user's complex preferences. On the other hand, a method using content-based filtering is also being actively studied. The study mainly solves the cold-start problem or the first-rater problem and is introduced as a solution with improved accuracy compared to pure content-based filtering.  
The method we propose is an approach using a DNN, which uses the Drafted-Input data with potential meanings to omit the inaccurate and generalized semantic transformation process from the model and induces learning only the necessary meanings. Certain parts of the drafting process of Drafted-Input clearly fall under feature engineering or pre-processing. However, it means more than preprocessing, in that it is continuously updated by learning and each role exists within the model network. Drafted-Input is data processed by analyzing/selecting related meta data according to the purpose pursued bythe model, as well as the model. However, the reason for the new definition of \"Drafted-Input\" without using terms such as \"Add-hoc\", \"meta data\", or \"Preprocessed data\" is as follows:  
* It is the subject of training and is input data that are continuously updated through learning once they are created \(\approx\) preliminary and updatable object.
* These are the input data selected to describe the target in terms of the goal of the model \(\approx\) select for a certain purpose.  
In this paper, we propose a movie recommendation system that focuses on the latter, improving accuracy, and also providing an appropriate configuration to apply it in a practical client-server environment. The reason why the scope is limited to movies is that the proposed method has the characteristic of operating only in one domain, and the data are relatively open compared to multiple domains. In this paper, movie data of IMDB and rating data of MovieLens-20m were used [13]. We propose two types of DNN-based models that learn through the user's implicit feedback and provide personalized recommendations; the first is a model that is as rough as possible so that it is easy to understand and modify concepts and can be applied in a centralized environment. Second, the Auto-Encoder concept is applied to the first model in consideration of the practical environment so that the server and the client divide and share the operation. It is a model that reduces the traffic for inference as much as possible.  
Our Contributions. The major contributions are summarized as follows:  
* Verify the effect of Drafted-Input of movie/user on training and recommendation accuracy;
* Propose an inference resource distribution method based on Auto-Encoder considering the client-server environment;
* Propose a method to personalize by paying attention to specific preference features of items in the network using User's weights extracted through a specific method.