## 3 Proposed Model
### GCNN-Based System Architecture  
Figure 6 shows the complete framework. This proposed model comprises multiple layers, i.e., an input data layer, a data preprocessing layer, similarity estimation, a neighbor sampling layer, a deep learning layer, and a recommendations layer. All the layers play a vital role. The first layer handles the input data. The raw data are in the form of log files, which are later converted to session graphs of items and users. We extracted multiple features from the raw data, such as the \(Address_{IP}\) and location. The preprocessing layer is the primary pillar of this framework. We analyzed our data thoroughly, investigated different trends, and set some criteria for session selection. We discarded the session that had fewer than four user clicks. We also separated sales sessions from non-sales sessions. Figure 5: Threshold-based neighbor sampling of nodes. Data processing is an essential part of any machine learning model and plays an important role in improving any algorithm's accuracy. We used the processing layer to analyze the underlying behavior and pattern of our input data. In the processing stage, we look for data anomalies, irregularities in the data, patterns, and statistics. Various features such as the clicks for each session, clicks for each product, total and unique IPs, and sales history per session are analyzed in the processing phase. In the data sorting phase, we sort the data based on IPs or perform time-based sorting. For the statistics, we extract the unique IPs, the number of clicks for each IP, the number of items bought by a specific user, the session duration, and the hit rate. We then perform data filtering, where we filter unwanted data responsible for irregular patterns and anomalies. We also filter sessions that have no sales history. At last, the sessions are generated based on the click sequence pattern for each user. Figure 6: Detailed view of the proposed framework. After this, each user's activity is analyzed by finding his/her item-click probability distributions. Then, we compare these distributions with other distributions and find similarities between nodes based on similarity scores. We cluster similar nodes together as described in the previous section. We use the GCNN model, which uses the subgraphs for training. It is challenging to train the traditional deep GCNN models. Therefore, to reduce the excessive computational complexity, we prelearned the neighbors and generated subgraphs. We used three layers for initial training, and this structure was useful in our case. The GCNN predicts the next most likely item clicked by the user and calculates the model error. Once the model is trained, it is used to recommend the top \(n\) items to the new user. In the proposed model, we consider that both the item and user modeling are the same. Therefore, we will primarily refer to user modeling for explaining node representations in the network. The embedding vector of a user u from the set of users U is represented as \(\mathbf{h}_{ui}=W_{u_{i}}\), where \(W_{u_{i}}\) is the set of features for the user ui. Once we have the embedding vector of user \(ui\), the next step is to obtain neighboring nodes' embeddings. We first find the features of all the adjacent nodes of user \(ui\). Then, these features are aggregated by the following Equation (7):  
\[W_{N_{u_{i}}}=\text{AGGREGATE}\ \{W_{vi_{i}}\ \mathbf{\forall}_{vi}\ \in\ N_{u_{i}}\} \tag{7}\]  
where \(N_{u_{i}}\) is the set of sampled neighbors discovered by using the probability distribution-based similarity and \(W_{vi}\) is the feature vector of neighbor \(vi\), which belongs to the set \(N_{u_{i}}\). Additionally, we use a pooling function defined as \(\text{AGGREGATE}\{.\}\). Once we have the aggregated feature set of the sampled neighbors feature, the next step is to concatenate these features with the features of user u, i.e., \(W_{u_{i}}\). This can be represented by Equation (8).